Amazon ECS Anywhere IAM角色 - Amazon Elastic Container Service

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

Amazon ECS Anywhere IAM角色

當您向叢集註冊內部部署伺服器或虛擬機器 (VM) 時,伺服器或 VM 需要 IAM角色才能與 通訊 AWS APIs。您只需要為每個 AWS 帳戶建立此IAM角色一次。不過,此IAM角色必須與您註冊到叢集的每個伺服器或 VM 相關聯。此角色為 ECSAnywhereRole。您可以手動建立此角色。或者,當您在 中註冊外部執行個體時,Amazon ECS可以代表您建立角色 AWS Management Console。您可以使用IAM主控台搜尋來搜尋ecsAnywhereRole,並查看您的帳戶是否已具有 角色。如需詳細資訊,請參閱 IAM 使用者指南 中的IAM主控台搜尋

AWS 提供兩個 受管IAM政策,可用於建立 ECS Anywhere IAM角色、 AmazonSSMManagedInstanceCoreAmazonEC2ContainerServiceforEC2Role政策。AmazonEC2ContainerServiceforEC2Role 政策包含的許可提供的存取權很可能比您需要的更多。因此,視您的特定使用案例而定,建議您建立自訂政策,僅在該政策中新增所需許可。如需詳細資訊,請參閱 Amazon ECS容器執行個體IAM角色

任務執行IAM角色會授予 Amazon ECS容器代理程式代表您API撥打電話 AWS 的許可。使用任務執行IAM角色時,必須在任務定義中指定該角色。如需詳細資訊,請參閱Amazon ECS任務執行IAM角色

如果以下任何條件適用,則需要任務執行角色:

  • 您正在 CloudWatch 使用日誌驅動程式將容器日誌傳送至awslogs日誌。

  • 您的任務定義會指定託管在 Amazon ECR私有儲存庫中的容器映像。不過,如果與外部執行個體相關聯的ECSAnywhereRole角色也包含從 Amazon 提取映像所需的許可ECR,則任務執行角色不需要包含這些許可。

建立 Amazon ECS Anywhere 角色

取代全部 user input 使用您自己的資訊。

  1. 使用下列信任政策建立名為 ssm-trust-policy.json的本機檔案。

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"Service": [ "ssm.amazonaws.com" ]}, "Action": "sts:AssumeRole" } }
  2. 使用以下 AWS CLI 命令建立角色並連接信任政策。

    aws iam create-role --role-name ecsAnywhereRole --assume-role-policy-document file://ssm-trust-policy.json
  3. 使用以下命令連接 AWS 受管政策。

    aws iam attach-role-policy --role-name ecsAnywhereRole --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore aws iam attach-role-policy --role-name ecsAnywhereRole --policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role

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