本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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 日誌roleSessionName
將ECSServiceConnectForTLS
為。您可以透過篩選 [使用者名稱],使用此名稱來搜尋 CloudTrail 主控台中的事件。
Amazon ECS 提供受管政策,其中包含磁碟區附件和 TLS 所需的許可。如需詳細資訊,請參閱《管理策略參考指南》中的 AmazonECS InfrastructureRole PolicyFor 磁碟區和 AmazonECs InfrastructureRole PolicyFor ServiceConnect TransportLayer 安全性。AWS
建立 Amazon ECS 基礎設施角色
以您自己的資訊取代所有使用者輸入
。
-
建立名為
ecs-infrastructure-trust-policy.json
的檔案,其中包含用於 IAM 角色的信任政策。檔案應包含以下內容:{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccessToECSForInfrastructureManagement", "Effect": "Allow", "Principal": { "Service": "ecs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
使用下列 AWS CLI 命令,建立使用您在上一個步驟中建立的信任原則命名
ecsInfrastructureRole
的角色。aws iam create-role \ --role-name
ecsInfrastructureRole
\ --assume-role-policy-document file://ecs-infrastructure-trust-policy.json
-
根據您的使用案例,將受 AWS 管理
AmazonECSInfrastructureRolePolicyForVolumes
或AmazonECSInfrastructureRolePolicyForServiceConnectTransportLayerSecurity
策略附加到ecsInfrastructureRole
角色。aws iam attach-role-policy \ --role-name
ecsInfrastructureRole
\ --policy-arn arn:aws:iam::aws:policy/service-role/AmazonECSInfrastructureRolePolicyForVolumesaws 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:DetachVolume
ec2: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者的許可〉。