

# IAM：允许特定的 IAM 用户以编程方式和在控制台中管理组
<a name="reference_policies_examples_iam_users-manage-group"></a>

此示例说明如何创建基于身份的策略以允许特定 IAM 用户管理 `AllUsers` 组。此策略定义了程序访问和控制台访问的权限。要使用此策略，请将示例策略中的*斜体占位符文本*替换为您自己的信息。然后，按照[创建策略](access_policies_create.md)或[编辑策略](access_policies_manage-edit.md)中的说明操作。

此策略有何作用？
+ `AllowAllUsersToListAllGroups` 语句允许列出所有组。这对于控制台访问是必需的。该权限必须位于自己的语句中，因为它不支持资源 ARN。相反，权限指定 `"Resource" : "*"`。
+ `AllowAllUsersToViewAndManageThisGroup` 语句允许可以对组资源类型执行的所有组操作。它不允许执行 `ListGroupsForUser` 操作，可以对用户资源类型执行该操作，但不能对组资源类型执行该操作。有关可以为 IAM 操作指定的资源类型的更多信息，请参阅 [AWS Identity and Access Management 的操作、资源和条件键](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_identityandaccessmanagement.html#identityandaccessmanagement-actions-as-permissions)。
+ `LimitGroupManagementAccessToSpecificUsers` 语句拒绝具有指定名称的用户访问以执行写入和权限管理组操作。如果策略中指定的用户尝试对组进行更改，该语句不会拒绝请求。`AllowAllUsersToViewAndManageThisGroup` 语句允许该请求。如果其他用户尝试执行这些操作，则会拒绝该请求。在 IAM 控制台中创建该策略时，您可以查看使用**写入**或**权限管理**访问级别定义的 IAM 操作。为此，请从 **JSON** 选项卡切换到**可视化编辑器**选项卡。有关访问级别的更多信息，请参阅 [AWS Identity and Access Management 的操作、资源和条件键](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_identityandaccessmanagement.html#identityandaccessmanagement-actions-as-permissions)。

------
#### [ JSON ]

****  

```
{
    "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"
                    ]
                }
            }
        }
    ]
}
```

------