

# 分配和移除访问权限
<a name="aam-assign-remove-access"></a>

## 向用户或组分配对 AWS 账户的访问权限
<a name="aam-assign-account-access"></a>

您可以通过在用户或组、账户与用户或组可在账户中代入的 IAM 角色之间创建分配，为用户或组分配对 AWS 账户 的访问权限。因此，一项分配就是由用户或组 ID、账户 ID 和 IAM 角色 ARN 组成的三元组。

如果要执行批量分配（例如为多个用户和组分配相同的角色），则必须单独创建每项分配。您可以使用账户访问权限 API 和 AWS SDK/CLI 为此流程编写脚本。

### 控制台
<a name="aam-assign-account-access-from-console"></a>

控制台提供了几种不同的方式来分配新的访问权限，具体取决于您希望优先确定账户、用户还是组。

**注意**  
账户访问权限管理器控制台为用户、组和账户提供搜索功能。要确定想分配的角色，必须先找到其名称（或 ARN）。账户访问权限管理器控制台无法在 AWS 账户中检测到 IAM 角色。

对于本节中的所有步骤，请登录管理账户（或委托管理员账户），选择启用了账户访问权限管理器的区域，然后在 IAM 控制台中导航到**账户访问权限管理器**。

------
#### [ Accounts tab ]

**从“账户”选项卡分配用户或组访问权限**

1. 选择 **Accounts** 选项卡。

1. 如果已知账户 ID，请选择**分配新访问权限**。在**分配账户访问权限**页面上，查找所需的用户或组，输入账户 ID 和 IAM 角色名称，然后选择**分配访问权限**。

1. 如果您需要先找到该账户，可以按名称、ID 或电子邮件地址搜索所需的 AWS 账户。或者，您可以查看组织结构或账户列表以找到相关的 AWS 账户。选择账户前面的单选按钮，然后选择**分配新访问权限**。在**分配账户访问权限**页面上，查找所需的用户或组，输入 IAM 角色名称，然后选择**分配访问权限**。

1. 您可以从组织结构或账户列表选择某个账户，查看其详细信息和账户访问权限分配。您也可以从其中选择**分配新访问权限**。

------
#### [ Users tab ]

**从“用户”选项卡分配用户访问权限**

1. 选择**用户**选项卡。

1. 您可以按用户名和显示名称搜索用户，也可以在显示的用户列表中查找用户。

1. 选择要为其分配新访问权限的用户。

1. 下一页显示用户属性、账户分配和组成员资格。

1. 选择**分配新访问权限**。

1. 在**分配账户访问权限**页面上，输入账户 ID 和 IAM 角色名称，然后选择**分配访问权限**。

------
#### [ Groups tab ]

**从“组”选项卡分配组访问权限**

1. 在导航窗格中，选择**账户访问权限管理器**。

1. 选择**组**选项卡。

1. 您可以按组名称搜索组，也可以在显示的组列表中查找组。

1. 选择要为其分配新访问权限的组。

1. 下一页显示组属性、账户分配和用户成员。

1. 选择**分配新访问权限**。

1. 在**分配账户访问权限**页面上，输入账户 ID 和 IAM 角色名称，然后选择**分配访问权限**。

------

### AWS CLI
<a name="aam-assign-account-access-from-cli"></a>

以下 AWS CLI 命令可用于为用户创建账户分配：

```
aws account-access create-entitlement \
  --region <Region> \
  --application-arn "<Account_access_manager_ARN>" \
  --entitlement '{
    "principalRole": {
      "principal": {
        "identityCenter": {
          "userId": "<Identity_Center_User_ID>"
        }
      },
      "roleArn": "arn:aws:iam::<ACCOUNT_ID>:role/<ROLE_NAME>"
    }
  }'
```

以下 AWS CLI 命令可用于为组创建账户分配：

```
aws account-access create-entitlement \
  --region <Region> \
  --application-arn "<Account_access_manager_ARN>" \
  --entitlement '{
    "principalRole": {
      "principal": {
        "identityCenter": {
          "groupId": "<IDC_GROUP_ID>"
        }
      },
      "roleArn": "arn:aws:iam::<ACCOUNT_ID>:role/<ROLE_NAME>"
    }
  }'
```

## 移除用户或组对 AWS 账户的访问权限
<a name="aam-remove-account-access"></a>

您可以通过多种方式找到要移除的分配。

### 控制台
<a name="aam-remove-account-access-from-console"></a>

对于本节中的所有步骤，请登录管理账户（或委托管理员账户），选择启用了账户访问权限管理器的区域，然后在 IAM 控制台中导航到**账户访问权限管理器**。

------
#### [ Accounts tab ]

**从“账户”选项卡中移除用户或组访问权限**

1. 选择 **Accounts** 选项卡。

1. 找到相关账户并选择其名称。

1. 在**账户访问权限分配**部分，选择要移除其访问权限的用户或组，然后选择**取消分配**。

1. 在弹出的模态框中，选择**取消分配**以确认。

------
#### [ Users tab ]

**从“用户”选项卡移除用户访问权限**

1. 选择**用户**选项卡。

1. 选择要移除其访问权限的用户。

1. 在**账户访问权限分配**部分，选择要移除其访问权限的账户，然后选择**取消分配**。

1. 在弹出的模态框中，选择**取消分配**以确认。

------

### AWS CLI
<a name="aam-remove-account-access-from-cli"></a>

要使用 CLI 移除访问权限，您首先需要找到账户分配（授权），然后在以下命令中使用其 ID。您可以在本主题的后面部分了解如何搜索特定账户、用户、组或角色的账户分配。CLI 将分配称为授权。

```
aws account-access delete-entitlement \
    --region <Region> \
    --application-arn "<Account_access_manager_ARN>" \
    --entitlement-id "<ENTITLEMENT_ID>"
```