IAM:建立僅具有特定標籤的新使用者 - AWS Identity and Access Management

IAM:建立僅具有特定標籤的新使用者

此範例會示範如何建立身分型政策,允許建立 IAM 使用者,但僅能使用 DepartmentJobFunction 標籤鍵 (其中之一或兩者)。Department 標籤鍵必須擁有 DevelopmentQualityAssurance 標籤值。JobFunction 標籤鍵必須擁有 Employee 標籤值。您可以使用此政策要求新使用者具有特定任務函數與部門。此政策僅會授予從 AWS API 或 AWS CLI 以程式設計方式完成此動作的必要許可。若要使用此政策,請將範例政策中的斜體預留位置文字取代為您自己的資訊。然後,遵循建立政策編輯政策中的指示進行操作。

陳述式中的第一個條件是使用 StringEqualsIfExists 條件運算子。如果請求中有採用 DepartmentJobFunction 鍵的標籤,則該標籤必須擁有指定值。如果上述鍵都不存在,則這個條件會評估為 true。只有當請求中出現其中一個指定的條件金鑰,且包含的值不同於允許的值時,條件才會評估為 false。如需使用 IfExists 的詳細資訊,請參閱 ...IfExists 條件運算子

第二個條件會使用 ForAllValues:StringEquals 條件運算子。如果請求中的每個指定的標籤鍵值,至少與政策中的一個值之間相符,條件就會傳回 true。這表示請求中的所有標籤都一定會屬於這份清單。不過,請求可以在清單中僅包含其中一個標籤。例如,您可以建立僅包含 Department=QualityAssurance 標籤的 IAM 使用者。不過,您無法建立同時包含 JobFunction=employee 標籤和 Project=core 標籤的 IAM 使用者。如需使用 ForAllValues 的詳細資訊,請參閱 建立具有多個索引鍵或值的條件

{ "Version": "2012-10-17", "Statement": [ { "Sid": "TagUsersWithOnlyTheseTags", "Effect": "Allow", "Action": [ "iam:CreateUser", "iam:TagUser" ], "Resource": "*", "Condition": { "StringEqualsIfExists": { "aws:RequestTag/Department": [ "Development", "QualityAssurance" ], "aws:RequestTag/JobFunction": "Employee" }, "ForAllValues:StringEquals": { "aws:TagKeys": [ "Department", "JobFunction" ] } } } ] }