AWS Service Catalog 啟動限制條件 - AWS Service Catalog

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS Service Catalog 啟動限制條件

啟動限制會指定使用者啟動、更新或終止產品時AWS Service Catalog假設的 AWS Identity and Access Management (IAM) 角色。IAM 角色是使用者或AWS服務可暫時假設使用AWS服務的許可集合。有關介紹性示例,請參閱:

啟動限制適用於產品組合中的產品 (產品組合關聯)。啟動限制不適用於投資組合層級,也不適用於所有產品組合的產品。若要將啟動限制與產品組合中的產品建立關聯,您必須將啟動限制個別套用至每個產品。

如果沒有啟動限制,最終使用者必須使用自己的 IAM 登入資料啟動和管理產品。若要這麼做,他們必須擁有產品所使用之AWS服務和的權限AWS Service Catalog。AWS CloudFormation透過使用啟動角色,您可以將使用者的權限限制在他們對該產品所需的最低限度。如需有關最終使用者權限的詳細資訊,請參閱 AWS Service Catalog中的 Identity and Access Management

若要建立和指派 IAM 角色,您必須具有下列 IAM 管理許可:

  • iam:CreateRole

  • iam:PutRolePolicy

  • iam:PassRole

  • iam:Get*

  • iam:List*

設定啟動角色

您指派給產品做為啟動限制的 IAM 角色必須具有使用下列項目的權限:

適用於雲形產品

  • arn:aws:iam::aws:policy/AWSCloudFormationFullAccessAWS CloudFormation受管理的策略

  • 產品AWS CloudFormation範本中的服務

  • 讀取服務擁有的 Amazon S3 儲存貯體中AWS CloudFormation範本的存取權限。

對於地形產品

  • 產品的 Amazon S3 模板中的服務

  • 讀取服務擁有的 Amazon S3 儲存貯體中 Amazon S3 範本的存取權限。

  • resource-groups:Tag用於在 Amazon EC2 執行個體中進行標記 (執行佈建操作時由 Terraform 佈建引擎假設)

  • resource-groups:CreateGroup用於資源群組標記 (假設AWS Service Catalog建立資源群組並指派標籤)

IAM 角色的信任政策必須允AWS Service Catalog許擔任該角色。在下列程序中,當您選取AWS Service Catalog作為角色類型時,會自動設定信任原則。如果您未使用主控台,請參閱如何將信任政策與 IAM 角色搭配使用中的角色,為擔任角色的AWS服務建立信任政策一節。

注意

servicecatalog:ProvisionProductservicecatalog:TerminateProvisionedProductservicecatalog:UpdateProvisionedProduct 權限無法以啟動角色指派。您必須使用 IAM 角色,如授與使用者權限一節中的內嵌政策步驟所示。AWS Service Catalog

注意

若要在AWS Service Catalog主控台中檢視佈建的 Cloudformation 產品和資源,最終使用者需要AWS CloudFormation讀取存取權。在主控台中檢視佈建的產品和資源會使用啟動角色。

建立啟動角色
  1. 開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

    Terraform 產品需要額外的啟動角色設定。如需詳細資訊,請檢閱 Terraform 開放原始碼產品入門中的步驟 5:建立啟動角色

  2. 選擇角色

  3. 選擇 Create New Role (建立新角色)。

  4. 輸入角色名稱,然後選擇 Next Step (下一步)。

  5. 在旁邊的AWS服務角色AWS Service Catalog,選擇選取

  6. Attach Policy (連接政策) 頁面上,選擇 Next Step (下一步)。

  7. 若要建立角色,請選擇 Create Role (建立角色)。

將政策連接到新的角色
  1. 選取您建立的角色以檢視該角色的詳細資訊頁面。

  2. 選擇 Permissions (許可) 索引標籤,然後展開 Inline Policies (內嵌政策) 區段。然後,選擇 click here (按一下這裡)。

  3. 選擇 Custom Policy (自訂政策),然後選擇 Select (選取)。

  4. 輸入原則的名稱,然後將以下內容貼到 Policy Document (政策文件) 編輯器:

    "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetObject" ], "Resource":"*", "Condition":{ "StringEquals":{ "s3:ExistingObjectTag/servicecatalog:provisioning":"true" } } ] }
    注意

    為啟動條件約束設定啟動角色時,必須使用以下字串:"s3:ExistingObjectTag/servicecatalog:provisioning":"true"

  5. 為產品使用的每個其他服務新增一行至原則。例如,若要新增 Amazon 關聯式資料庫服務 (Amazon RDS) 的權限,請在清單最後一行的末尾輸入逗號,然後新增下Action列行:

    "rds:*"
  6. 選擇 Apply Policy (套用政策)

套用啟動限制

配置啟動角色之後,請將角色指派給產品做為啟動限制。此動作會告知AWS Service Catalog使用者在啟動產品時擔任該角色。

將角色指派至產品
  1. https://console.aws.amazon.com/servicecatalog/ 開啟 Service Catalog 主控台。

  2. 選擇包含該產品的產品組合。

  3. 選擇 Constraints (限制) 索引標籤,並選擇 Create constraint (建立限制)

  4. 從產品中選擇產品,然後在「限制類型」下選擇「啟動 選擇 繼續

  5. 在「啟動限制」區段中,您可以從帳戶中選取 IAM 角色,然後輸入 IAM 角色 ARN,或輸入角色名稱。

    如果您指定角色名稱,並且帳戶使用啟動限制,則該帳戶將使用該名稱作為 IAM 角色。此方法允許啟動角色限制與帳戶無關,因此您可以為每個共用帳戶建立更少的資源。

    注意

    指定的角色名稱必須存在於建立啟動限制的帳戶,以及使用此啟動限制啟動產品的使用者帳戶中。

  6. 指定 IAM 角色後,選擇 Create (建立)

將混淆的代理添加到啟動約束

AWS Service Catalog支援與假設角色要求一起執行的 API 的混淆副保護。新增啟動限制時,您可以使用啟動角色信任原則中的sourceAccountsourceArn條件來限制啟動角色存取。它可確保啟動角色是由受信任的來源呼叫。

在下列範例中,一AWS Service Catalog般使用者屬於帳戶 1111111111。當AWS Service Catalog系統管理員LaunchConstraint為產品建立時,終端使用者可以在啟動角色信任原則中指定下列條件,將假設角色限制為帳號 1111111111。

"Condition":{ "ArnLike":{ "aws:SourceArn":"arn:aws:servicecatalog:us-east-1:111111111111:*" }, "StringEquals":{ "aws:SourceAccount":"111111111111" } }

佈建具有產品的使用者LaunchConstraint必須具有相同的 AccountId (111111111111)。如果沒有,則作業會失敗並顯示錯AccessDenied誤,進而防止啟動角色濫用。

以下 AWS Service Catalog API 是保護混淆的副手保護:

  • LaunchConstraint

  • ProvisionProduct

  • UpdateProvisionedProduct

  • TerminateProvisionedProduct

  • ExecuteProvisionedProductServiceAction

  • CreateProvisionedProductPlan

  • ExecuteProvisionedProductPlan

sourceArn 保護AWS Service Catalog僅支援範本化 ARN,例如 "arn:<aws-partition>:servicecatalog:<region>:<accountId>:" 它不支援特定的資源 ARN。

驗證啟動限制

若要驗證AWS Service Catalog使用角色啟動產品並成功佈建產品,請從AWS Service Catalog主控台啟動產品。若要在發佈至使用者之前測試限制,請建立包含相同產品的測試產品組合,然後以該產品組合測試限制。

啟動產品
  1. 在AWS Service Catalog主控台的功能表中,選擇 Service Catalog > 一般使用者

  2. 選擇產品以開啟「產品詳細資訊」頁面。在啟動選項表格中,確認角色的 Amazon 資源名稱 (ARN) 出現。

  3. 選擇「啟動產品」。

  4. 繼續啟動步驟,填寫任何必要的資訊。

  5. 確認產品已成功啟動。