IAMAmazon 的最佳實踐 ECS - Amazon Elastic Container Service

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

IAMAmazon 的最佳實踐 ECS

您可以使用 AWS Identity and Access Management (IAM) 透過基於規則的策略來管理和控制對 AWS 服務和資源的存取,以進行身份驗證和授權。更具體地說,透過此服務,您可以使用套用至使用者、群組或角色的原則來控制對 AWS 資源的存取。在這三個使用者中,使用者是可以對您的資源進行存取的帳戶。而且,IAM角色是一組可以由經過身份驗證的身份承擔的權限,該身份與之外的特定身份沒有關聯IAM。如需詳細資訊,請參閱 Amazon 存取管理ECS概觀:許可和政策

遵循最低權限存取的政策

建立範圍為允許使用者執行其指定工作的政策。例如,如果開發人員需要定期停止任務,請建立僅允許該特定動作的政策。下列範例僅允許使用者停止屬於具有特定 Amazon 資源名稱 (ARN) 之叢集task_family上特定的任務。參照條件ARN中的也是使用資源層級權限的範例。您可以使用資源層級許可來指定要套用動作的資源。

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

讓叢集資源做為管理邊界

範圍太窄的政策可能會造成角色擴散,並增加系統管理額外負荷。不要建立範圍僅限於特定任務或服務的角色,而是建立範圍為叢集的角色,並使用叢集做為主要管理界限。

建立自動化管道以將最終使用者與 API

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

針對新增的安全層使用政策條件

當您需要新增的安全層時,請在政策中新增條件。如果您正在執行特權操作或需要限制可針對特定資源執行的一組動作時,這種做法非常有用。刪除叢集時,下列範例政策需要多重要素驗證。

{ "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"} } } ] }

定期稽核存取 APIs

使用者可能會變更角色。變更角色之後,先前授予他們的許可可能不再適用。確保您稽核誰可以存取 Amazon,以ECSAPIs及該存取權是否仍然受到保證。考慮IAM與使用者生命週期管理解決方案整合,該解決方案會在使用者離開組織時自動撤銷存取。如需詳細資訊,請參閱《AWS Identity and Access Management 使用指南》中的AWS 安全性稽核準則