在建立時授予標記資源的許可 - Amazon Elastic Container Service

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

在建立時授予標記資源的許可

以下的標籤建立 Amazon ECS API 動作允許您在建立資源時指定標籤。如果在資源建立動作中指定了標籤,請 AWS 執行其他授權以驗證是否已指派正確的權限來建立標籤。

  • CreateCapacityProvider

  • CreateCluster

  • CreateService

  • CreateTaskSet

  • RegisterContainerInstance

  • RegisterTaskDefinition

  • RunTask

  • StartTask

您可以使用資源標籤來實作以屬性為基礎的控制 (ABAC)。如需詳細資訊,請參閱 使用資源標籤控制對 Amazon ECS 資源的存取標記 Amazon ECS 資源

若要允許在建立時標記,請建立或修改政策,以同時包含使用建立資源之動作的許可,例如 ecs:CreateClusterecs:RunTaskecs:TagResource 動作。

下列範例示範一項原則,可讓使用者在叢集建立期間建立叢集及新增標籤。使用者沒有標記現有資源的權限 (他們不能直接呼叫 ecs:TagResource 動作)。

{ "Statement": [ { "Effect": "Allow", "Action": [ "ecs:CreateCluster" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecs:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "ecs:CreateAction": [ "CreateCluster", "CreateCapacityProvider", "CreateService", "CreateTaskSet", "RegisterContainerInstance", "RegisterTaskDefinition", "RunTask", "StartTask" ] } } } ] }

只有在資源建立動作中套用了標籤時,才評估 ecs:TagResource 動作。因此,在沒有標記條件的情況下,若請求中未指定標籤,則具備資源建立許可的使用者不需要使用 ecs:TagResource 動作的許可。然而,若該使用者試圖建立具有標籤的資源卻未具備使用 ecs:TagResource 動作的許可,則該請求會失敗。

Amazon ECS 控制對特定標籤的訪問

您可以在 IAM 政策的 Condition 元素中使用其他條件,來控制可套用至資源的標籤金鑰索和值。

下列條件金鑰機可與前一節中的範例搭配使用:

  • aws:RequestTag:表示請求中必須存在特定標籤金鑰或標籤金鑰與值。請求內亦可指定其他標籤。

    • 搭配 StringEquals 條件運算子使用,以強制結合特定標籤金鑰與值,例如強制執行標籤 cost-center=cc123

      "StringEquals": { "aws:RequestTag/cost-center": "cc123" }
    • 搭配 StringLike 條件運算子使用,以在請求中強制執行特定標籤金鑰,例如強制執行標籤金鑰 purpose

      "StringLike": { "aws:RequestTag/purpose": "*" }
  • aws:TagKeys:強制執行請求中使用的標籤金鑰。

    • 搭配 ForAllValues 修飾詞使用,若請求內提供特定標籤金鑰,將強制加以執行 (若請求內指定標籤,則僅允許特定標籤金鑰,不允許其他標籤)。例如,允許標籤金鑰 environmentcost-center

      "ForAllValues:StringEquals": { "aws:TagKeys": ["environment","cost-center"] }
    • 搭配 ForAnyValue 修飾詞使用,以強制要求請求內至少具有一個指定的標籤金鑰。例如,請求內必須出現至少下列標籤金鑰 environmentwebserver 之一:

      "ForAnyValue:StringEquals": { "aws:TagKeys": ["environment","webserver"] }

這些條件金鑰可套用於支援標記的資源建立動作,以及 ecs:TagResource 動作。若要了解 Amazon ECS API 動作是否支援標記,請參閱 Amazon ECS 的動作、資源和條件金鑰

若要強制使用者在建立資源時指定標籤,您必須在資源建立動作內,搭配 aws:RequestTag 修飾詞使用 aws:TagKeys 條件金鑰或 ForAnyValue 條件金鑰。若使用者未針對資源建立動作指定標籤,則不會評估 ecs:TagResource 動作。

以條件而言,條件金鑰不區分大小寫,而條件值會區分大小寫。因此,欲強制標籤鍵區分大小寫,請使用 aws:TagKeys 條件索引鍵,其中標籤鍵指定為條件值。

如需多值條件的詳細資訊,請參閱IAM 使用者指南中的建立可測試多個金鑰值的條件