IAM:: 特定の IAM ユーザーによるグループの管理をプログラムによりコンソールで許可する
この例は、特定の IAM ユーザーが AllUsers
グループを管理するための、特定の ID ベースのポリシーを作成する方法を示しています。このポリシーは、プログラムおよびコンソールアクセスのアクセス許可を定義します。このポリシーを使用するには、サンプルポリシーのイタリック体のプレースホルダーテキスト
を独自の情報に置き換えます。次に、ポリシーの作成またはポリシーの編集の手順に従います。
このポリシーで行うこと
-
AllowAllUsersToListAllGroups
ステートメントでは、すべてのグループを一覧表示します。これはコンソールのアクセスに必要です。このアクセス許可は、リソース ARN をサポートしていないため、独自のステートメント内にある必要があります。代わりに"Resource" : "*"
を指定するアクセス許可を使用します。 -
AllowAllUsersToViewAndManageThisGroup
ステートメントは、グループリソースタイプに対して実行できるすべてのグループアクションを許可します。グループリソースタイプではなくユーザリソースタイプで実行できるListGroupsForUser
アクションは許可されていません。IAM アクションに指定できるリソースタイプの詳細については、「AWS Identity and Access Management のアクション、リソース、条件キー」を参照してください。 -
LimitGroupManagementAccessToSpecificUsers
ステートメントは、指定した名前を持つユーザーが書き込みおよびアクセス許可管理グループのアクションにアクセスすることを拒否します。ポリシーで指定されたユーザーがグループに変更しようとすると、このステートメントはリクエストを拒否しません。このリクエストは、AllowAllUsersToViewAndManageThisGroup
ステートメントで許可されます。他のユーザーがこれらのオペレーションを実行しようとすると、リクエストは拒否されます。IAM コンソールでこのポリシーを作成している間、[書き込み] または [アクセス許可管理] アクセスレベルで定義されている IAM アクションを表示できます。これを行うには、[JSON] タブから [Visual editor (ビジュアルエディタ)] タブに切り替えます。アクセスレベルの詳細については、「AWS Identity and Access Management のアクション、リソース、および条件キー」を参照してください。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllUsersToListAllGroups", "Effect": "Allow", "Action": "iam:ListGroups", "Resource": "*" }, { "Sid": "AllowAllUsersToViewAndManageThisGroup", "Effect": "Allow", "Action": "iam:*Group*", "Resource": "arn:aws:iam::*:group/
AllUsers
" }, { "Sid": "LimitGroupManagementAccessToSpecificUsers", "Effect": "Deny", "Action": [ "iam:AddUserToGroup", "iam:CreateGroup", "iam:RemoveUserFromGroup", "iam:DeleteGroup", "iam:AttachGroupPolicy", "iam:UpdateGroup", "iam:DetachGroupPolicy", "iam:DeleteGroupPolicy", "iam:PutGroupPolicy" ], "Resource": "arn:aws:iam::*:group/AllUsers
", "Condition": { "StringNotEquals": { "aws:username": [ "srodriguez
", "mjackson
", "adesai
" ] } } } ] }