AWS:允许 IAM 用户在“安全凭证”页面上管理自己的密码、访问密钥和 SSH 公有密钥
此示例演示了如何创建基于身份的策略,以允许 IAM 用户在安全凭证页面上管理其密码、访问密钥和 X.509 证书。此 AWS Management Console 页面显示账户信息,例如账户 ID 和规范用户 ID。用户还可以查看和编辑自己的密码、访问密钥、MFA 设备、X.509 证书、SSH 密钥和 Git 凭证。此示例策略包括仅查看和编辑其密码、访问密钥和 X.509 证书所需的权限。要允许用户使用 MFA 管理他们自己的所有凭证,请参阅AWS:允许使用 MFA 完成身份验证的 IAM 用户在“安全凭证”页面上管理自己的凭证。。要允许用户在不使用 MFA 的情况下管理自己的凭证,请参阅AWS:允许 IAM 用户在“安全凭证”页面上管理自己的凭证。
要了解用户如何访问安全凭证页面,请参阅 IAM 用户如何更改自己的密码(控制台)。
此策略有何作用?
-
AllowViewAccountInfo
语句允许用户查看账户级信息。这些权限必须位于自己的语句中,因为它们不支持或不需要指定资源 ARN。相反,权限指定"Resource" : "*"
。此语句包括允许用户查看特定信息的以下操作:-
GetAccountPasswordPolicy
– 查看账户密码要求,同时更改他们自己的 IAM 用户密码。 -
GetAccountSummary
- 查看账户 ID 和账户的规范用户 ID。
-
-
AllowManageOwnPasswords
语句还允许用户更改他们自己的密码。此语句还包括GetUser
操作,查看 My Security Credentials(我的安全凭证)页面上的大多数信息都需要此操作。 -
AllowManageOwnAccessKeys
语句允许用户创建、更新和删除他们自己的访问密钥。用户还可以检索有关上次使用指定访问密钥的时间信息。 -
AllowManageOwnSSHPublicKeys
语句允许用户上传、更新和删除他们自己的 CodeCommit 的 SSH 公有密钥。
该策略不允许用户查看或管理他们自己的 MFA 设备。他们也不能在 IAM 控制台中查看 Users(用户)页面,或使用该页面访问自己的用户信息。要允许此操作,请将 iam:ListUsers
操作添加到 AllowViewAccountInfo
语句。它也不允许用户在自己的用户页面上更改密码。要允许此操作,请将 iam: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", "iam:GetAccessKeyLastUsed" ], "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}" } ] }