Amazon ECS 基礎設施 IAM 角色 - Amazon Elastic Container Service

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

Amazon ECS 基礎設施 IAM 角色

Amazon ECS 基礎設施 IAM 角色允許 Amazon ECS 代表您管理叢集中的基礎設施資源,並在以下情況使用:

  • 您想要將 Amazon EBS 磁碟區連接至 Fargate 或 EC2 啟動類型 Amazon ECS 任務。基礎設施角色允許 Amazon ECS 為您的任務管理 Amazon EBS 磁碟區。

  • 您想要使用 Transport Layer Security (TLS) 來加密 Amazon ECS Service Connect 服務之間的流量。

  • 您想要建立 Amazon VPC Lattice 目標群組。

當 Amazon ECS 擔任此角色代表您採取動作時,事件將顯示於 中 AWS CloudTrail。如果 Amazon ECS 使用 角色來管理連接到任務的 Amazon EBS 磁碟區,CloudTrail 日誌roleSessionName將是 ECSTaskVolumesForEBS。如果角色用於加密 Service Connect 服務之間的流量,CloudTrail 日誌roleSessionName將為 ECSServiceConnectForTLS。如果角色用於建立 VPC Lattice 的目標群組,則 CloudTrail 日誌roleSessionName將為 ECSNetworkingWithVPCLattice。您可以使用此名稱,透過篩選使用者名稱,在 CloudTrail 主控台中搜尋事件。

Amazon ECS 提供受管政策,其中包含磁碟區連接和 TLS 所需的許可。如需詳細資訊,請參閱《 AWS 受管政策參考指南》中的 AmazonECSInfrastructureRolePolicyForVolumesAmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurityAmazonECSInfrastructureRolePolicyForVpcLattice

建立 Amazon ECS 基礎設施角色

使用您自己的資訊取代所有使用者輸入

  1. 建立名為 ecs-infrastructure-trust-policy.json 的檔案,其中包含用於 IAM 角色的信任政策。檔案應包含以下內容:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToECSForInfrastructureManagement", "Effect": "Allow", "Principal": { "Service": "ecs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  2. 使用以下 AWS CLI 命令,ecsInfrastructureRole使用您在上一個步驟中建立的信任政策來建立名為 的角色。

    aws iam create-role \ --role-name ecsInfrastructureRole \ --assume-role-policy-document file://ecs-infrastructure-trust-policy.json
  3. 根據您的使用案例,將 AWS 受管 AmazonECSInfrastructureRolePolicyForVolumesAmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurityAmazonECSInfrastructureRolePolicyForVpcLattice政策連接至ecsInfrastructureRole角色。

    aws iam attach-role-policy \ --role-name ecsInfrastructureRole \ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonECSInfrastructureRolePolicyForVolumes
    aws iam attach-role-policy \ --role-name ecsInfrastructureRole \ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity

您也可以使用 IAM 主控台的自訂信任政策工作流程來建立角色。如需詳細資訊,請參閱《IAM 使用者指南》中的使用自訂信任政策 (主控台) 建立角色

重要

如果 Amazon ECS 正在使用 ECS 基礎設施角色來管理連接到任務的 Amazon EBS 磁碟區,請在停止使用 Amazon EBS 磁碟區的任務之前確保下列事項。

  • 不會刪除角色。

  • 角色的信任政策不會修改為移除 Amazon ECS 存取 (ecs.amazonaws.com)。

  • AmazonECSInfrastructureRolePolicyForVolumes 不會移除 受管政策。如果您必須修改角色的許可,請保留至少 ec2:DetachVolumeec2:DeleteVolumeec2:DescribeVolumes以進行磁碟區刪除。

在停止具有連接 Amazon EBS 磁碟區的任務之前刪除或修改角色,將導致任務卡在其中,DEPROVISIONING且相關聯的 Amazon EBS 磁碟區無法刪除。Amazon ECS 將定期自動重試以停止任務並刪除磁碟區,直到還原必要的許可為止。您可以使用 DescribeTasks API 檢視任務的磁碟區連接狀態和相關聯的狀態原因。

建立檔案後,您必須授予使用者將角色傳遞至 Amazon ECS 的許可。

將基礎設施角色傳遞至 Amazon ECS 的許可

若要使用 ECS 基礎設施 IAM 角色,您必須授予使用者將角色傳遞至 Amazon ECS 的許可。將下列iam:PassRole許可連接至您的使用者。將 ecsInfrastructureRole 取代為您建立的基礎設施角色名稱。

{ "Version": "2012-10-17", "Statement": [ { "Action": "iam:PassRole", "Effect": "Allow", "Resource": ["arn:aws:iam::*:role/ecsInfrastructureRole"], "Condition": { "StringEquals": {"iam:PassedToService": "ecs.amazonaws.com"} } } ] }

如需有關 iam:Passrole 和更新使用者許可的詳細資訊,請參閱AWS Identity and Access Management 《 使用者指南》中的授予使用者將角色傳遞至 AWS 服務的許可變更 IAM 使用者的許可