管理 IAM 资源的策略示例 - AWS Identity and Access Management

管理 IAM 资源的策略示例

以下 IAM policy 示例允许用户执行与管理 IAM 用户、组和凭证相关的任务。这包括允许用户管理自己的密码、访问密钥和多重验证 (MFA) 设备的策略。

有关允许用户执行对其他 AWS 服务(如 Amazon S3、Amazon EC2 和 DynamoDB)的任务的策略的示例,请参阅 IAM 基于身份的策略示例

允许用户列出账户的组、用户、策略等,以供报告之用

以下策略允许用户调用以字符串 GetList 开头的任何 IAM 操作,并生成报告。要查看示例策略,请参阅IAM:允许对 IAM 控制台进行只读访问

允许用户管理组的成员资格

以下策略允许用户更新名为 MarketingGroup 的组的成员资格。要查看示例策略,请参阅IAM:允许以编程方式和在控制台中管理组的成员资格

允许用户管理 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 Management Console中执行任务。仅从 AWS CLIAWS SDK 或 IAM HTTP 查询 API 执行与用户相关的任务的用户可能不需要特定权限。例如,如果用户已知道从用户分离的策略的 ARN,则不需要 iam:ListAttachedUserPolicies 权限。用户所需权限的确切列表取决于用户管理其他用户时必须执行的任务。

以下策略中的权限允许通过 AWS Management Console访问用户任务:

  • iam:GetAccount*

  • iam:ListAccount*

允许用户设置账户密码策略

您可以授予某些用户获取和更新您的 AWS 账户 的密码策略的权限。要查看示例策略,请参阅IAM:允许以编程方式和在控制台中设置账户密码要求

允许用户生成和检索 IAM 凭证报告

您可以授予用户生成和下载报告的权限,该报告列出了您 AWS 账户 中的所有用户。该报告还列出了各种用户凭证的状态,包括密码、访问密钥、MFA 设备和签名证书。有关凭证报告的更多信息,请参阅为您的 AWS 账户 生成凭证报告。要查看示例策略,请参阅IAM:生成和检索 IAM 凭证报告

允许所有 IAM 操作(管理员访问)

您可以授予某些用户在 IAM 中执行所有操作的管理员权限,包括管理密码、访问密钥、MFA 设备和用户凭证。以下示例策略授予这些权限。

警告

当您向用户授予对 IAM 的完全访问权时,对用户可以向自己或他人授予的权限没有限制。用户可以创建新的 IAM 实体(用户或角色)并授予这些实体对您 AWS 账户 中所有资源的完全访问权限。您向用户授予对 IAM 的完全访问权限时,实际上是向用户授予对您 AWS 账户 中所有资源的完全访问权限。其中包括删除所有资源的权限。您应该仅将这些权限授予信任的管理员,还应对这些管理员强制采用多重身份验证 (MFA)。

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