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

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

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

下列加載型建立 Amazon ECSAPI動作可讓您在建立資源時指定標籤。如果在資源建立動作中指定標籤, AWS 會執行其他授權,以確認指派正確的許可來建立標籤。

  • CreateCapacityProvider

  • CreateCluster

  • CreateService

  • CreateTaskSet

  • RegisterContainerInstance

  • RegisterTaskDefinition

  • RunTask

  • StartTask

您可以使用資源標籤實作屬性型控制 (ABAC)。如需詳細資訊,請參閱 使用ECS資源標籤控制對 Amazon 資源的存取標記 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 ECSAPI動作是否支援標記,請參閱 Amazon 的動作、資源和條件金鑰ECS

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

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

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