IAM:允许特定的 IAM 用户以编程方式和在控制台中管理组
此示例说明如何创建基于身份的策略以允许特定 IAM 用户管理 AllUsers
组。此策略定义了程序访问和控制台访问的权限。要使用此策略,请将示例策略中的斜体占位符文本
替换为您自己的信息。然后,按照创建策略或编辑策略中的说明操作。
此策略有何作用?
-
AllowAllUsersToListAllGroups
语句允许列出所有组。这对于控制台访问是必需的。该权限必须位于自己的语句中,因为它不支持资源 ARN。相反,权限指定"Resource" : "*"
。 -
AllowAllUsersToViewAndManageThisGroup
语句允许可以对组资源类型执行的所有组操作。它不允许执行ListGroupsForUser
操作,可以对用户资源类型执行该操作,但不能对组资源类型执行该操作。有关可以为 IAM 操作指定的资源类型的更多信息,请参阅 AWS Identity and Access Management 的操作、资源和条件键。 -
LimitGroupManagementAccessToSpecificUsers
语句拒绝具有指定名称的用户访问以执行写入和权限管理组操作。如果策略中指定的用户尝试对组进行更改,该语句不会拒绝请求。AllowAllUsersToViewAndManageThisGroup
语句允许该请求。如果其他用户尝试执行这些操作,则会拒绝该请求。在 IAM 控制台中创建该策略时,您可以查看使用写入或权限管理访问级别定义的 IAM 操作。为此,请从 JSON 选项卡切换到可视化编辑器选项卡。有关访问级别的更多信息,请参阅 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
" ] } } } ] }