本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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角色、 AmazonSSMManagedInstanceCore
和 AmazonEC2ContainerServiceforEC2Role
政策。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
使用您自己的資訊。
-
使用下列信任政策建立名為
ssm-trust-policy.json
的本機檔案。{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"Service": [ "ssm.amazonaws.com" ]}, "Action": "sts:AssumeRole" } }
-
使用以下 AWS CLI 命令建立角色並連接信任政策。
aws iam create-role --role-name
ecsAnywhereRole
--assume-role-policy-document file://ssm-trust-policy.json -
使用以下命令連接 AWS 受管政策。
aws iam attach-role-policy --role-name
ecsAnywhereRole
--policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore aws iam attach-role-policy --role-nameecsAnywhereRole
--policy-arn arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role
您也可以使用IAM自訂信任政策工作流程來建立角色。如需詳細資訊,請參閱 IAM 使用者指南 中的使用自訂信任政策 (主控台) 建立角色。