

# 更新角色的权限
<a name="id_roles_update-role-permissions"></a>

使用以下过程更新角色的权限策略和权限边界。

## 先决条件：查看角色访问权限
<a name="roles-modify_prerequisites"></a>

在更改角色的权限之前，您应查看其最近的服务级别活动。这非常重要，因为您不想删除使用它的主体（个人或应用程序）的访问权限。有关查看上次访问的信息的更多信息，请参阅 [使用上次访问的信息优化 AWS 中的权限](access_policies_last-accessed.md)。

## 更新角色的权限策略
<a name="id_roles_update-role-permissions-policy"></a>

要更改该角色允许的权限，请修改该角色的权限策略。您无法修改 IAM 中的*[服务相关角色](id_roles.md#iam-term-service-linked-role)*的权限策略。您可能能够修改依赖角色的服务中的权限策略。要检查服务是否支持此功能，请参阅[使用 IAM 的 AWS 服务](reference_aws-services-that-work-with-iam.md)并查找**服务相关角色**中列为**是**的服务。请选择**是**与查看该服务的服务关联角色文档的链接。

### 更新角色权限策略（控制台）
<a name="id_roles_update-role-permissions-policy-console"></a>

**更改角色允许的权限 (控制台)**

1. 通过 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 打开 IAM 控制台。

1. 在 IAM 控制台的导航窗格中，选择**角色**。

1. 选择要修改的角色的名称，然后选择**权限**选项卡。

1. 请执行以下操作之一：
   + 要编辑某个现有客户托管策略，请选择该策略的名称，然后选择 **Edit policy**。
**注意**  
您不能编辑 AWS 托管策略。AWS 托管策略随 AWS 图标 (![\[Orange cube icon indicating a policy is managed by AWS.\]](http://docs.aws.amazon.com/zh_cn/IAM/latest/UserGuide/images/policy_icon.png)) 一起显示。有关 AWS 托管策略与客户托管策略之间的差别的更多信息，请参阅[托管策略与内联策略](access_policies_managed-vs-inline.md)。
   + 要将现有的托管策略附加到角色，请选择 **Add permissions**（添加权限），然后选择 **Attach policies**（附加策略）。
   + 要编辑现有内联策略，请展开策略并选择 **Edit**（编辑）。
   + 要嵌入新的内联策略，请选择 **Add permissions**（添加权限），然后选择 **Create inline policy**（创建内联策略）。
   + 若要从角色中移除现有策略，请选中策略名称旁边的复选框，然后选择**删除**。

### 更新角色权限策略（AWS CLI）
<a name="id_roles_update_permissions-policy-cli"></a>

要更改该角色允许的权限，请修改该角色的权限策略。您无法修改 IAM 中的*[服务相关角色](id_roles.md#iam-term-service-linked-role)*的权限策略。您可能能够修改依赖角色的服务中的权限策略。要检查服务是否支持此功能，请参阅[使用 IAM 的 AWS 服务](reference_aws-services-that-work-with-iam.md)并查找**服务相关角色**中列为**是**的服务。请选择**是**与查看该服务的服务关联角色文档的链接。

**更改角色允许的权限 (AWS CLI)**

1. （可选）如需查看当前与角色关联的权限，请运行以下命令：

   1. [aws iam list-role-policies](https://docs.aws.amazon.com/cli/latest/reference/iam/list-role-policies.html)（用于列出内联策略）

   1. [aws iam list-attached-role-policies](https://docs.aws.amazon.com/cli/latest/reference/iam/list-attached-role-policies.html)（用于列出托管策略）

1. 对于更新角色的权限所使用的命令，根据您是在更新托管策略还是内联策略而有所不同。

   要更新托管策略，请运行以下命令以创建托管策略的新版本：
   + [aws iam create-policy-version](https://docs.aws.amazon.com/cli/latest/reference/iam/create-policy-version.html)

   要更新内联策略，请运行以下命令：
   + [aws iam put-role-policy](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-policy.html)

### 更新角色权限策略（AWS API）
<a name="id_roles_update_permissions-policy-api"></a>

要更改该角色允许的权限，请修改该角色的权限策略。您无法修改 IAM 中的*[服务相关角色](id_roles.md#iam-term-service-linked-role)*的权限策略。您可能能够修改依赖角色的服务中的权限策略。要检查服务是否支持此功能，请参阅[使用 IAM 的 AWS 服务](reference_aws-services-that-work-with-iam.md)并查找**服务相关角色**中列为**是**的服务。请选择**是**与查看该服务的服务关联角色文档的链接。

**更改角色允许的权限 (AWS API)**

1. （可选）如需查看当前与角色关联的权限，请调用以下操作：

   1. [ListRolePolicies](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListRolePolicies.html)（用于列出内联策略）

   1. [ListAttachedRolePolicies](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListAttachedRolePolicies.html)（用于列出托管策略）

1. 对于更新角色的权限所使用的操作，根据您是在更新托管策略还是内联策略而有所不同。

   要更新托管策略，请调用以下操作以创建托管策略的新版本：
   + [CreatePolicyVersion](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreatePolicyVersion.html)

   要更新内联策略，请调用以下操作：
   + [PutRolePolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_PutRolePolicy.html)

## 更新角色的权限边界
<a name="id_roles_update-role-permissions-boundary"></a>

要更改对某角色允许的最大权限，请修改角色的[权限边界](access_policies_boundaries.md)。

### 更新角色权限边界（控制台）
<a name="id_roles_update-permissions-boundary-console"></a>

**更改用于设置角色的权限边界的策略**

1. 登录 AWS 管理控制台，然后通过以下网址打开 IAM 控制台：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在导航窗格中，选择**角色**。

1. 选择具有您要更改的 [权限边界](access_policies_boundaries.md) 的角色名称。

1. 选择**权限**选项卡。如有必要，打开 **Permissions boundary**（权限边界）部分，然后选择 **Change boundary**（更改边界）。

1. 选择要用于权限边界的策略。

1. 选择 **Change boundary**（更改边界）。

   在某个人下次担任该角色后，您所做的更改才会生效。

### 更新角色权限边界（AWS CLI）
<a name="id_roles_update_permissions-boundary-cli"></a>

**更改用于设置角色的权限边界的托管策略 (AWS CLI)**

1. （可选）要查看角色的当前[权限边界](access_policies_boundaries.md)，请运行以下命令：
   + [aws iam get-role](https://docs.aws.amazon.com/cli/latest/reference/iam/get-role.html)

1. 要使用不同的托管策略来更新角色的权限边界，请运行以下命令：
   + [aws iam put-role-permissions-boundary](https://docs.aws.amazon.com/cli/latest/reference/iam/put-role-permissions-boundary.html)

   角色只能具有一个设置为权限边界的托管策略。如果您更改权限边界，则会更改允许的角色的最大权限。

### 更新角色权限边界（AWS API）
<a name="id_roles_update-permissions-boundary-api"></a>

**更改用于设置角色的权限边界的托管策略 (AWS API)**

1. （可选）要查看角色的当前[权限边界](access_policies_boundaries.md)，请调用以下操作：
   + [GetRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_GetRole.html)

1. 要使用不同的托管策略来更新角色的权限边界，请调用以下操作：
   + [PutRolePermissionsBoundary](https://docs.aws.amazon.com/IAM/latest/APIReference/API_PutRolePermissionsBoundary.html)

   角色只能具有一个设置为权限边界的托管策略。如果您更改权限边界，则会更改允许的角色的最大权限。