Amazon ECS Anywhere IAM 角色
當您向叢集註冊內部部署伺服器或虛擬機器 (VM) 時,伺服器或 VM 需要 IAM 角色才能與 AWS API 通訊。您只需要為每個 AWS 帳戶建立此 IAM 角色。不過,此 IAM 角色必須與您向叢集註冊的每個伺服器或虛擬機器產生關聯。此角色為 ECSAnywhereRole。您可以手動建立此角色。或者,當您在 the console 中註冊外部執行個體時,Amazon ECS 可以代表您建立角色。您可以使用 IAM 主控台搜尋功能來搜尋 ecsAnywhereRole,確認帳戶是否已具備角色。如需詳細資訊,請參閱 IAM user guide 中的 IAM console search。
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 角色
將所有 user input 取代為自己的資訊。
-
建立以
ssm-trust-policy.json為名且具有下列信任政策的本機檔案。 -
使用下列 AWS CLI 命令來建立角色,並連接信任政策。
aws iam create-role --role-nameecsAnywhereRole--assume-role-policy-document file://ssm-trust-policy.json -
使用下列命令連接 AWS 受管政策。
aws iam attach-role-policy --role-nameecsAnywhereRole--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 User Guide 中的 Creating a role using custom trust policies (console)。