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

AWS: IAM ユーザーが [My Security Credentials (セキュリティ認証情報)] ページで自分のパスワード、アクセスキー、および SSH パブリックキーを管理できるようにします。

次のようなポリシーを作成する方法を示します。この例では、 は、IAM ユーザーが [My Security Credentials (セキュリティ認証情報)] ページで自分のパスワード、アクセスキー、および SSH パブリックキーを管理できるようにします。この AWS マネジメントコンソール ページには、アカウント ID や正規ユーザー ID などのアカウント情報が表示されます。ユーザーは、自分のパスワード、アクセスキー、MFA デバイス、X.509 証明書、SSH キー、および Git 認証情報を表示および編集することもできます。このポリシー例には、パスワード、アクセスキー、および X.509 証明書のみを表示および編集するために必要なアクセス許可が含まれています。ユーザーに MFA を使用して自らのすべての認証情報を管理することを許可するには、「AWS: MFA で認証された IAM ユーザーが [My Security Credentials (セキュリティ認証情報)] ページで自分の認証情報を管理できるようにします。」を参照してください。ユーザーに MFA を使用せずに自らの認証情報を管理することを許可するには、「AWS: IAM ユーザーが [My Security Credentials (セキュリティ認証情報)] ページで自分の認証情報を管理できるようにします。」を参照してください。

ユーザーが [My Security Credentials (セキュリティ認証情報)] ページにアクセスする方法については、「IAM ユーザー自身によるパスワードの変更方法 (コンソール)」を参照してください。

このポリシーで行うこと

  • この AllowViewAccountInfo ステートメントでは、ユーザーにアカウントレベルの情報を表示します。これらのアクセス許可は、リソース ARN をサポートしていないか、または指定する必要がないため、独自のステートメントに含まれている必要があります。代わりに "Resource" : "*" を指定するアクセス許可を使用します。このステートメントには、ユーザーが特定の情報を表示できるようにする以下のアクションが含まれています。

    • GetAccountPasswordPolicy – IAM ユーザーパスワードを変更しながら、アカウントのパスワード要件を確認します。

    • GetAccountSummary – アカウント ID とアカウントの表示 正規ユーザー ID

  • AllowManageOwnPasswords ステートメントを使用すると、ユーザーは自分のパスワードを変更できます。このステートメントにはGetUser アクションも含まれています。これは、[My Security Credentials (セキュリティ認証情報)] ページのほとんどの情報を表示するために必要です。

  • この AllowManageOwnAccessKeys ステートメントにより、ユーザーは自分のアクセスキーを作成、更新、削除できます。

  • AllowManageOwnSSHPublicKeys ステートメントにより、ユーザーは自分の CodeCommit の SSH パブリックキーをアップロード、更新、削除できます。

このポリシーでは、ユーザーは自分の MFA デバイスを表示または管理できません。このポリシーでは、IAM コンソールで [ユーザー] ページを表示したり、そのページを使用して自分のユーザー情報にアクセスすることもできません。これを許可するには、iam:ListUsers アクションを AllowViewAccountInfo ステートメントに追加します。また、ユーザーが自分のユーザーページで自分のパスワードを変更することはできません。これを許可するには、iam:CreateLoginProfileiam:DeleteLoginProfileiam:GetLoginProfile、および iam:UpdateLoginProfile アクションを AllowManageOwnPasswords ステートメントに追加します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowViewAccountInfo", "Effect": "Allow", "Action": [ "iam:GetAccountPasswordPolicy", "iam:GetAccountSummary" ], "Resource": "*" }, { "Sid": "AllowManageOwnPasswords", "Effect": "Allow", "Action": [ "iam:ChangePassword", "iam:GetUser" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "AllowManageOwnAccessKeys", "Effect": "Allow", "Action": [ "iam:CreateAccessKey", "iam:DeleteAccessKey", "iam:ListAccessKeys", "iam:UpdateAccessKey" ], "Resource": "arn:aws:iam::*:user/${aws:username}" }, { "Sid": "AllowManageOwnSSHPublicKeys", "Effect": "Allow", "Action": [ "iam:DeleteSSHPublicKey", "iam:GetSSHPublicKey", "iam:ListSSHPublicKeys", "iam:UpdateSSHPublicKey", "iam:UploadSSHPublicKey" ], "Resource": "arn:aws:iam::*:user/${aws:username}" } ] }