修改角色(AWS CLI) - AWS Identity and Access Management
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

修改角色(AWS CLI)

可以使用 AWS Command Line Interface 修改角色。要更改角色的标签集,请参阅管理标记 IAM 实体(孔)

修改角色信任策略(AWS CLI)

要更改可担任角色的人员,您必须修改角色的信任策略。您无法修改服务相关角色的信任策略。

注意

如果用户被列为角色的信任策略中的委托人,但无法担任该角色,请检查用户的权限边界。如果为用户设置了权限边界,则它必须允许该 sts:AssumeRole 操作。

修改角色信任策略 (AWS CLI)

  1. (可选)如果不知道要修改的角色的名称,请运行以下命令以列出账户中的角色:

  2. (可选)要查看角色当前的信任策略,请运行以下命令:

  3. 要修改可访问角色的受信任委托人,请创建带有已更新信任策略的文本文件。您可以使用任何文本编辑器构件策略。

    例如,以下信任策略说明了如何在 Principal 元素中引用两个 AWS 账户。这允许两个单独的 AWS 账户中的用户担任此角色。

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ]}, "Action": "sts:AssumeRole" } }

    如果您指定其他账户中的委托人,将账户添加到角色的信任策略只是建立跨账户信任关系工作的一半而已。默认情况下,受信任账户中的任何用户均无法担任角色。新的受信任账户的管理员必须授予用户担任角色的权限。为此,管理员必须创建或编辑附加到用户以允许该用户访问 sts:AssumeRole 操作的策略。有关更多信息,请参阅以下过程或授予用户切换角色的权限

  4. 要使用您刚刚创建的文件来更新信任策略,请运行以下命令:

允许受信任外部账户中的用户使用角色 (AWS CLI)

有关此过程的更多详细信息,请参阅授予用户切换角色的权限

  1. 创建一个 JSON 文件,其中包含授予担任角色的权限的权限策略。例如,下面的策略包含最低必需权限:

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws-cn:iam::ACCOUNT-ID-THAT-CONTAINS-ROLE:role/ROLE-NAME" } }

    将语句中的 ARN 替换为用户可担任的角色的 ARN。

  2. 运行以下命令来将包含信任策略的 JSON 文件上传到 IAM:

    此命令的输出包含策略的 ARN。请记录此 ARN,因为您在后面的步骤中需要它。

  3. 决定要将策略附加到哪个用户或组。如果不知道目标用户或组的名称,请使用下列命令之一列出账户中的用户或组:

  4. 使用以下命令之一,将您在上一步中创建的策略附加到用户或组:

修改角色权限策略(AWS CLI)

要更改该角色允许的权限,请修改该角色的权限策略。您无法修改 IAM 中的服务相关角色的权限策略。您可能能够修改依赖角色的服务中的权限策略。要检查服务是否支持此功能,请参阅AWS 与 IAM并查找服务相关角色中列为的服务。选择 Yes 与查看该服务的服务相关角色文档的链接。

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

  1. (可选)如需查看当前与角色关联的权限,请运行以下命令:

    1. aws iam list-role-policies(用于列出内联策略)

    2. aws iam list-attached-role-policies(用于列出托管策略)

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

    要更新托管策略,请运行以下命令以创建托管策略的新版本:

    要更新内联策略,请运行以下命令:

修改角色描述(AWS CLI)

要更改角色的描述,请修改描述文本。

更改角色的描述 (AWS CLI)

  1. (可选)要查看角色的当前描述,请运行以下命令:

  2. 要更新角色的描述,请带描述参数运行以下命令:

修改角色最长会话持续时间(AWS CLI)

要为使用 AWS CLI 或 API 担任的角色指定最大会话持续时间设置,请修改最大会话持续时间设置的值。该设置可以具有 1 小时到 12 小时之间的值。如果未指定值,则应用默认最大值 (1 小时)。该设置不限制 AWS 服务建立的会话。

注意

从 AWS CLI 或 API 中担任角色的任何人都可以使用 duration-seconds CLI 参数或 DurationSeconds API 参数请求更长的会话。MaxSessionDuration 设置确定可使用 DurationSeconds 参数请求的最大角色会话持续时间。如果用户未指定 DurationSeconds 参数值,其安全凭证的有效期为 1 小时。

使用 AWS CLI (AWS CLI) 更改担任的角色的最大会话持续时间设置

  1. (可选)要查看角色的当前最大会话持续时间设置,请运行以下命令:

  2. 要更新角色的最大会话持续时间设置,请带 max-sessionduration CLI 参数或 MaxSessionDuration API 参数运行以下命令:

    在某个人下次担任该角色后,您所做的更改才会生效。要了解如何撤销该角色的现有会话,请参阅逆转 IAM 角色临时安全凭证

修改角色权限边界(AWS CLI)

要更改对某角色允许的最大权限,请修改角色的权限边界

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

  1. (可选)要查看角色的当前权限边界,请运行以下命令:

  2. 要使用不同的托管策略来更新角色的权限边界,请运行以下命令:

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