AWS Identity and Access Management
ユーザーガイド

IAM リソースの管理に関するポリシーの例

以下に示すのは、IAM ユーザー、グループ、および認証情報の管理に関連するタスクをユーザーが実行可能にする IAM ポリシーの例です。これには、自分のパスワード、アクセスキー、多要素認証 (MFA) デバイスの管理をユーザーに許可するポリシーも含まれます。

Amazon S3、Amazon EC2、DynamoDB など、他の AWS サービスの使用によるタスクの実行をユーザーに許可するポリシーの例については、「IAM アイデンティティベースのポリシーの例」を参照してください。

ユーザーがレポート作成の目的でアカウントのグループ、ユーザー、ポリシーなどを一覧表示することを許可する

以下のポリシーでは、ユーザーは文字列 Get または List で始まる任意の IAM アクションを呼び出すことができます。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "iam:Get*", "iam:List*" ], "Resource": "*" } }

Get* および List* アクションを使用すると、Get および List で始まる既存および将来のすべての IAM アクションを許可します。たとえば、IAM が新しいウィジェットリソースを追加した場合、このポリシーは GetWidget および ListWidgets アクションを許可します。

ユーザーがグループのメンバーシップを管理することを許可する

以下のポリシーでは、ユーザーは MarketingGroup というグループのメンバーシップを更新することができます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewGroups", "Effect": "Allow", "Action": [ "iam:ListGroups", "iam:GetUser", "iam:ListGroupsForUser" ], "Resource": "*" }, { "Sid": "ViewEditThisGroup", "Effect": "Allow", "Action": [ "iam:AddUserToGroup", "iam:RemoveUserFromGroup", "iam:GetGroup" ], "Resource": "arn:aws:iam::*:group/MarketingGroup" } ] }

ユーザーが IAM ユーザーを管理することを許可する

次のポリシーでは、IAM ユーザーの管理に関連するすべてのタスクの実行がユーザーに許可されますが、グループやポリシーの作成など、他のエンティティに対するアクションの実行は許可されません。許可されるアクションは以下のとおりです。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowUsersToPerformUserActions", "Effect": "Allow", "Action": [ "iam:ListPolicies", "iam:GetPolicy", "iam:UpdateUser", "iam:AttachUserPolicy", "iam:ListEntitiesForPolicy", "iam:DeleteUserPolicy", "iam:DeleteUser", "iam:ListUserPolicies", "iam:CreateUser", "iam:RemoveUserFromGroup", "iam:AddUserToGroup", "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:PutUserPolicy", "iam:ListAttachedUserPolicies", "iam:ListUsers", "iam:GetUser", "iam:DetachUserPolicy" ], "Resource": "*" }, { "Sid": "AllowUsersToSeeStatsOnIAMConsoleDashboard", "Effect": "Allow", "Action": [ "iam:GetAccount*", "iam:ListAccount*" ], "Resource": "*" } ] }

上のポリシーに含まれているアクセス許可のうちいくつかは、AWS マネジメントコンソールでタスクを実行することを許可します。AWS CLIAWS SDK、または IAM HTTP クエリ API のみからユーザー関連のタスクを実行するユーザーには、一部のアクセス許可が不要になる可能性があります。たとえば、あるユーザーからデタッチするポリシーの ARN が既にわかっているユーザーに、iam:ListAttachedUserPolicies 権限は不要です。ユーザーが必要とする正確な権限リストは、ユーザーが他のユーザーを管理するときに実行する必要があるタスクによって決まります。

ポリシーの以下の権限では、ユーザーは AWS マネジメントコンソールを介してタスクにアクセスすることができます。

  • iam:GetAccount*

  • iam:ListAccount*

ユーザーがアカウントパスワードポリシーを設定することを許可する

AWS アカウントのパスワードポリシーを取得および更新するアクセス許可を一部のユーザーに付与することもできます。以下のポリシーの例は、次の権限を付与します。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "iam:GetAccountPasswordPolicy", "iam:UpdateAccountPasswordPolicy" ], "Resource": "*" } }

ユーザーが IAM 認証情報レポートを生成、取得することを許可する

AWS アカウントのすべてのユーザーを一覧表示するレポートを生成してダウンロードするアクセス許可をユーザーに付与できます。このレポートには、パスワード、アクセスキー、MFA デバイス、署名証明書など、さまざまなユーザー認証情報のステータスも一覧表示されます。以下のポリシーの例は、次の権限を付与します。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "iam:GenerateCredentialReport", "iam:GetCredentialReport" ], "Resource": "*" } }

認証情報レポートの詳細については、「AWS アカウントの認証情報レポートの取得」を参照してください。

すべての IAM アクション (管理アクセス) を許可する

パスワード、アクセスキー、ユーザー証明書、MFA デバイス、ユーザー証明書の管理など、IAM 内のすべてのアクションを実行するための管理権限を一部のユーザーに与える場合があります。以下のポリシーの例は、次の権限を付与します。

警告

ユーザーに IAM に対するフルアクセスを許可する場合、ユーザーが自分または他者に付与できるアクセス許可に制限がなくなります。ユーザーは新しい IAM エンティティ (ユーザーまたはロール) を作成することや、それらのエンティティに AWS アカウントのすべてのリソースに対するフルアクセスを許可することができます。ユーザーに IAM に対するフルアクセスを許可した場合、事実上、AWS アカウントのすべてのリソースに対するフルアクセスを許可したことになります。これには、すべてのリソースを削除するためのアクセス権限も含まれます。これらのアクセス権限は信頼されている管理者にのみ付与してください。また、これらの管理者には多要素認証(MFA)を適用してください。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "iam:*", "Resource": "*" } }