本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon ECS Anywhere IAM 角色
當您向叢集註冊現場部署伺服器或虛擬機器 (VM) 時,伺服器或 VM 需要 IAM 角色才能與 AWS APIs通訊。您只需要為每個 AWS 帳戶建立此 IAM 角色一次。不過,此 IAM 角色必須與您向叢集註冊的每個伺服器或虛擬機器產生關聯。此角色為 ECSAnywhereRole
。您可以手動建立此角色。或者,當您在 AWS Management Console中註冊外部執行個體時,Amazon ECS 可以代表您建立角色。您可以使用 IAM 主控台搜尋來搜尋 ecsAnywhereRole
,並查看您的帳戶是否已有 角色。如需詳細資訊,請參閱《IAM 使用者指南》中的 IAM 主控台搜尋。
AWS 提供兩個 受管 IAM 政策,可用於建立 ECS Anywhere IAM 角色、 AmazonSSMManagedInstanceCore
和 AmazonEC2ContainerServiceforEC2Role
政策。AmazonEC2ContainerServiceforEC2Role
政策包含的許可提供的存取權很可能比您需要的更多。因此,視您的特定使用案例而定,建議您建立自訂政策,僅在該政策中新增所需許可。如需詳細資訊,請參閱 Amazon ECS 容器執行個體 IAM 角色。
任務執行 IAM 角色會授予 Amazon ECS 容器代理程式許可,以代表您進行 AWS API 呼叫。使用任務執行 IAM 角色時,必須在您的任務定義中指定它。如需詳細資訊,請參閱Amazon ECS 任務執行 IAM 角色。
如果以下任何條件適用,則需要任務執行角色:
-
使用
awslogs
日誌驅動程式將容器日誌傳送到 CloudWatch Logs。 -
您的任務定義會指定託管在 Amazon ECR 私有儲存庫中的容器映像。不過,如果與外部執行個體相關聯的
ECSAnywhereRole
角色也包含從 Amazon ECR 提取映像所需的許可,則您的任務執行角色不需要包含它們。
建立 Amazon ECS Anywhere 角色
使用您自己的資訊取代所有使用者輸入
。
-
使用下列信任政策建立名為
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 使用者指南》中的使用自訂信任政策 (主控台) 建立角色。