步驟 5:建立啟動角色 - AWS Service Catalog

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

步驟 5:建立啟動角色

在此步驟中,您將建立 IAM 角色 (啟動角色),指定 Terraform 佈建引擎的權限,並在使用者啟動 Terraform 產品時AWS Service Catalog可承擔的 HashiCorp 權限。

稍後指派給簡單 Amazon S3 儲存貯體 Terraform 產品做為啟動限制的 IAM 角色 (啟動角色) 必須具有下列許可:

  • 存取您的 Terraform 產品的基礎AWS資源。在本教學課程中,這包括對s3:CreateBucket*s3:DeleteBucket*s3:Get*s3:List*、和 s3:PutBucketTagging Amazon S3 操作的存取。

  • 讀取AWS Service Catalog擁有的 Amazon S3 儲存貯體中 Amazon S3 範本的存取權

  • 存取CreateGroupListGroupResourcesDeleteGroup、和Tag資源群組作業。這些作業AWS Service Catalog可用來管理資源群組和標記

若要在AWS Service Catalog系統管理員帳戶中建立啟動角色
  1. 登入AWS Service Catalog管理員帳戶後,請遵循 IAM 使用者指南中「在 JSON」索引標籤上建立新政策的指示。

  2. 為您的簡單 Amazon S3 儲存貯體 Terraform 產品建立策。在您建立啟動角色之前,必須先建立此原則,並包含下列權限:

    • s3— 允許AWS Service Catalog列出、讀取、寫入、佈建和標記 Amazon S3 產品的完整許可。

    • s3— 允許存取擁有的 Amazon S3 儲存貯體AWS Service Catalog。若要部署產品,AWS Service Catalog需要存取佈建人工因素。

    • resourcegroups— 允AWS Service Catalog許創建,列出,刪除和標記AWS Resource Groups。

    • tag— 允許AWS Service Catalog標記權限。

    注意

    根據您要部署的基礎資源,您可能需要修改範例 JSON 政策。

    貼上下列 JSON 政策文件:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "s3:GetObject", "Resource": "*", "Condition": { "StringEquals": { "s3:ExistingObjectTag/servicecatalog:provisioning": "true" } } }, { "Action": [ "s3:CreateBucket*", "s3:DeleteBucket*", "s3:Get*", "s3:List*", "s3:PutBucketTagging" ], "Resource": "arn:aws:s3:::*", "Effect": "Allow" }, { "Action": [ "resource-groups:CreateGroup", "resource-groups:ListGroupResources", "resource-groups:DeleteGroup", "resource-groups:Tag" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "tag:GetResources", "tag:GetTagKeys", "tag:GetTagValues", "tag:TagResources", "tag:UntagResources" ], "Resource": "*", "Effect": "Allow" } ] }
    1. 選擇下一步標籤

    2. 選擇下一步,檢閱

    3. 在 [檢閱原則] 頁面中,針對 [名稱] 輸入S3ResourceCreationAndArtifactAccessPolicy

    4. 選擇建立政策

  3. 在導覽窗格中,選擇 Roles (角色),然後選擇 Create role (建立角色)

  4. 針對 [選取受信任的實體],選擇 [自訂信任原則],然後輸入下列 JSON 原則:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "GivePermissionsToServiceCatalog", "Effect": "Allow", "Principal": { "Service": "servicecatalog.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account_id:root" }, "Action": "sts:AssumeRole", "Condition": { "StringLike": { "aws:PrincipalArn": [ "arn:aws:iam::accounti_id:role/TerraformEngine/TerraformExecutionRole*", "arn:aws:iam::accounti_id:role/TerraformEngine/ServiceCatalogExternalParameterParserRole*", "arn:aws:iam::accounti_id:role/TerraformEngine/ServiceCatalogTerraformOSParameterParserRole*" ] } } } ] }
  5. 選擇下一步

  6. 在「策略」清單中,選取S3ResourceCreationAndArtifactAccessPolicy您剛建立的。

  7. 選擇下一步

  8. 角色名稱中,輸入 SCLaunch-S3product

    重要

    啟動角色名稱必須以「SCLaunch」開頭,後面接著所需的角色名稱。

  9. 選擇建立角色

    重要

    在AWS Service Catalog系統管理員帳戶中建立啟動角色之後,您也必須在使用者帳戶中建立相同的AWS Service Catalog啟動角色。一般使用者帳戶中的角色必須具有相同的名稱,並且包含與系統管理員帳戶中角色相同的策略。

在一AWS Service Catalog般使用者帳戶中建立啟動角色
  1. 以系統管理員身分登入使用者帳戶,然後依照 IAM 使用者指南中的 JSON 索引標籤上建立新政策的指示進行操作。

  2. 重複上述在AWS Service Catalog管理員帳戶中建立啟動角色的步驟 2-10。

注意

在使用AWS Service Catalog者帳戶中建立啟動角色時,請務必在自訂信任原則AccountId中使用相同的系統管理員。

既然您已在管理員帳戶和一般使用者帳戶中建立啟動角色,您可以將啟動限制新增至產品。