AWS Identity and Access Management - Amazon Elastic Container Service

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

AWS Identity and Access Management

您可以使用AWS Identity and Access Management(IAM) 來管理和控制對AWS服務和資源,用於驗證和授權目的。更具體地說,透過這項服務,您可以控制對AWS資源,使用套用至 IAM 使用者、群組或角色的政策。在這三個中,IAM 使用者是可以存取您的資源的帳戶。而且,IAM 角色是一組可以由已驗證身分所假設的權限,該身分與 IAM 以外的特定身分無關。如需詳細資訊,請參閱「」IAM 中的政策和權限?

管理對亞馬遜 ECS 的存取

您可以透過建立和套用 IAM 政策來控制對 Amazon ECS 的存取。這些策略是由一組適用於特定資源的動作所組成。政策的動作定義了允許或拒絕的操作清單 (例如 Amazon ECS API),而資源控制動作適用於哪些 Amazon ECS 物件。您可以將條件新增至原則以縮小其範圍。例如,您可以撰寫原則,只允許對具有特定標籤集的工作執行動作。如需詳細資訊,請參閱「」Amazon ECS 如何與 IAM 搭配運作中的Amazon Elastic Container Service 開發者指南

Recommendations

我們建議您設定 IAM 角色和政策時執行下列動作。

遵循最低權限存取的政策

建立規定範圍的原則,以允許使用者執行其指定的工作。例如,如果開發人員需要定期停止工作,建立只允許該特定動作的原則。下列範例只允許使用者停止屬於特定task_family在具有特定 Amazon Resource Name (ARN) 的叢集上。在條件下引用 ARN 也是使用資源級權限的一個例子。您可以使用資源層級許可來指定動作套用到的資源。

注意

在政策中參考 ARN 時,請使用新的較長 ARN 格式。如需詳細資訊,請參閱「」Amazon Resource Name (ARN) 和 ID中的Amazon Elastic Container Service 開發者指南

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:StopTask" ], "Condition": { "ArnEquals": { "ecs:cluster": "arn:aws:ecs:<region>:<aws_account_id>:cluster/<cluster_name>" } }, "Resource": [ "arn:aws:ecs:<region>:<aws_account_id>:task-definition/<task_family>:*" ] } ] }

讓叢集資源做為系統管理界限

範圍太窄的原則可能會造成角色擴散,並增加系統管理負荷。而不是建立限定在特定工作或服務範圍的角色,只建立叢集範圍的角色,並使用叢集做為主要系統管理界限。

透過建立自動化管線,將最終使用者與 Amazon ECS API 隔離

您可以透過建立自動將應用程式封裝和部署到 Amazon ECS 叢集的管線來限制使用者可以使用的動作。這會有效地將建立、更新和刪除任務的工作委派給管線。如需詳細資訊,請參閱「」教學課程:使用 CodePipeline 的亞馬遜 ECS 標準部署中的AWS CodePipeline使用者指南

為增加一層安全使用原則條件

當您需要新增的安全性層時,請在原則中新增條件。如果您正在執行特殊權限的作業或需要限制可針對特定資源執行的一組動作,這會很有用。下列範例原則在刪除叢集時需要多因素授權。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:DeleteCluster" ], "Condition": { "Bool": { "aws:MultiFactorAuthPresent": "true" } }, "Resource": ["*"] } ] }

套用至服務的標籤會傳播至屬於該服務一部分的所有工作。因此,您可以建立範圍限定在具有特定標籤的 Amazon ECS 資源的角色。在下列政策中,IAM 主體會以Department和一個標籤值Accounting

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:StartTask", "ecs:StopTask", "ecs:RunTask" ], "Resource": "arn:aws:ecs:*", "Condition": { "StringEquals": {"ecs:ResourceTag/Department": "Accounting"} } } ] }

定期稽核對 Amazon ECS API 的存取

使用者可能會變更角色。變更角色之後,先前授與他們的權限可能不再套用。請確定您稽核擁有 Amazon ECS API 存取權的人員,以及該存取權是否仍然有保證。考慮將 IAM 與使用者生命週期管理解決方案整合,該解決方案會在使用者離開組織時自動撤銷存取。如需詳細資訊,請參閱「」Amazon ECS 安全性稽核指南中的Amazon Web Services 一般參考