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 磁碟區。

  • 您想要使用傳輸層安全性 (TLS) 來加密 Amazon ECS 服務 Connect 服務之間的流量。

當 Amazon ECS 假定此角色代表您採取行動時,事件將會顯示在中 AWS CloudTrail。如果 Amazon ECS 使用該角色來管理連接到您的任務的 Amazon EBS 磁碟區,則 CloudTrail記錄roleSessionNamefolefole將會是。ECSTaskVolumesForEBS如果該角色用於加密 Amazon ECS 服務 Connect 服務之間的流量,則 CloudTrail 日誌roleSessionNameECSServiceConnectForTLS為。您可以透過篩選 [使用者名稱],使用此名稱來搜尋 CloudTrail 主控台中的事件。

Amazon ECS 提供受管政策,其中包含磁碟區附件和 TLS 所需的許可。如需詳細資訊,請參閱《管理策略參考指南》中的 AmazonECS InfrastructureRole PolicyFor 磁碟區和 AmazonECs InfrastructureRole PolicyFor ServiceConnect TransportLayer 安全性。AWS

建立 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 管理AmazonECSInfrastructureRolePolicyForVolumesAmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity策略附加到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:DeleteVolume,並ec2:DescribeVolumes用於刪除磁碟區。

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

建立檔案之後,您必須授與使用者權限,才能將角色傳遞給 Amazon ECS。

將基礎設施角色傳遞給 Amazon ECS 的權限

若要使用 ECS 基礎設施 IAM 角色,您必須授與使用者權限,才能將角色傳遞給 Amazon ECS。將下列iam:PassRole權限附加給您的使用者。以您建立InfrastructureRole的基礎結構角色名稱取代 ecs

{ "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 服務權限〉和〈變更 IAM 使用AWS Identity and Access Management者的許可〉