IAM: 特定のタグのみで新しいユーザーを作成する - AWS Identity and Access Management

IAM: 特定のタグのみで新しいユーザーを作成する

この例では、次のような IAM ポリシーを作成する方法を示します。 では、IAM ユーザーの作成を許可しますが、DepartmentJobFunction のタグキーのいずれか、また両方を使用します。Department タグキーに、Development または QualityAssurance タグ値が含まれている必要があります。JobFunction タグキーに、Employee タグ値が含まれている必要があります。このポリシーを使用して、新しいユーザーに特定のジョブ機能および部門が含まれるよう義務付けることができます。このポリシーでは、AWS API または AWS CLI からのみ、このアクションを実行するために必要なアクセス権限を付与します。このポリシーを使用するには、ポリシー例の斜体プレースホルダーテキストを自分の情報に置き換えます。次に、「ポリシーの作成」または「ポリシーの編集」の手順に従います。

ステートメントの最初の条件では、StringEqualsIfExists 条件演算子を使用します。キーが Department または JobFunction のタグがリクエストに存在する場合は、指定された値がタグに含まれている必要があります。どちらのキーも存在しない場合、この条件は true と評価されます。指定された条件キーのいずれかがリクエストに存在していても、許可されている値とは異なる値が含まれている場合にのみ、条件は、false と評価されます。IfExists の使用の詳細については、「...IfExists 条件演算子」を参照してください。

2 番目の条件では、ForAllValues:StringEquals 条件演算子を使用します。この条件では、リクエストの指定されたすべてのタグキーと、ポリシーの 1 つ以上の値が一致する場合に 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" ] } } } ] }