AWS Identity and Access Management
用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

修改角色

您可以按照以下方式更改或修改角色:

  • 要更改可代入角色的人员,请修改角色的信任策略。

    注意

    如果该角色是服务相关角色,则无法修改角色的信任策略。服务相关角色在表的 Trusted entities 列中随 (Service-linked role) 一起显示。

  • 要更改该角色允许的权限,请修改该角色的权限策略。

    注意

    如果该角色是服务相关角色,则只能从依赖该角色的服务修改角色的权限。服务相关角色在表的 Trusted entities 列中随 (Service-linked role) 一起显示。请参阅服务的 AWS 文档,了解它是否支持此功能。

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

您可以使用 AWS 管理控制台、AWS 命令行工具、Windows PowerShell 工具 或 IAM API 来进行这些更改。

修改角色 (控制台)

可以使用 AWS 管理控制台修改角色。

更改可访问角色的可信委托人 (控制台)

  1. 在 IAM 控制台的导航窗格中,选择 Roles

  2. 在您的账户的角色列表中,选择要修改的角色的名称。

  3. 选择 Trust relationships 选项卡,然后选择 Edit trust relationship

  4. 根据需要编辑信任策略。要添加其他可信委托人,请在 Principal 元素中指定他们。请记住,策略以 JSON 格式编写,而 JSON 数组用方括号 [ ] 括起来,以逗号分隔。例如,以下策略代码段演示如何在 Principal 元素中引用两个 AWS 账户:

    "Principal": { "AWS": [ "arn:aws-cn:iam::111122223333:root", "arn:aws-cn:iam::444455556666:root" ] },

    请记住,将账户添加到角色的信任策略只是建立信任关系工作的一半而已。默认情况下,可信账户中的任何用户均无法代入角色,直至该账户的管理员向用户授予代入角色的权限。为此,管理员需要将角色的 Amazon 资源名称 (ARN) 添加到 sts:AssumeRole 操作的 Allow 元素。有关更多信息,请参阅下一个过程以及主题向用户授予切换角色的权限

    如果您的角色可以由一个或多个可信服务(而不是 AWS 账户)使用,则策略可能包含类似于下面这样的元素:

    "Principal": { "Service": [ "opsworks.amazonaws.com", "ec2.amazonaws.com" ] },
  5. 完成编辑时,选择 Update Trust Policy 以保存您的更改。

    有关策略结构和语法的更多信息,请参阅IAM 策略IAM JSON 策略元素参考

允许可信外部账户中的用户使用角色 (控制台)

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

  1. 登录可信外部 AWS 账户。

  2. 确定将权限附加到用户还是附加到组。在 IAM 控制台的导航窗格中,相应选择 UsersGroups

  3. 选择您要向其授予访问权限的用户或组的名称,然后选择 Permissions 选项卡。

  4. 执行以下任一操作:

    • 要编辑某个客户 托管策略,请选择该策略的名称,选择编辑策略,然后选择 JSON 选项卡。您无法编辑 AWS 托管策略。AWS 托管策略随 AWS 图标 ( ) 一起显示。有关 AWS 托管策略与客户托管策略之间的差别的更多信息,请参阅托管策略与内联策略

    • 要编辑某个内联策略,请选择该策略名称旁边的箭头,然后选择 Edit policy

  5. 在策略编辑器中,添加一个新的 Statement 元素,指定以下内容:

    { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws-cn:iam::AWS account ID that contains the role:role/role name" }

    使用原始账户(此可信外部账户中的用户可以使用该账户)中角色的 ARN 的实际值替换用红色显示的值。

    请注意,只能有一个 Statement 关键字。但是,一个语句在数组中可以有多个元素,每个元素都有自己的大括号 { },以逗号分隔,所有元素都包含在方括号 [ ] 中。

  6. 按照屏幕上的提示完成策略的编辑。

    有关在 AWS 管理控制台中编辑客户托管策略和内联策略的更多信息,请参阅编辑 IAM 策略

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

  1. 在 IAM 控制台的导航窗格中,选择 Roles

  2. 选择要修改的角色的名称,然后选择 Permissions 选项卡。

  3. 执行以下任一操作:

    • 要编辑某个现有客户托管策略,请选择该策略的名称,然后选择 Edit policy

      注意

      您无法编辑 AWS 托管策略。AWS 托管策略随 AWS 图标 ( ) 一起显示。有关 AWS 托管策略与客户托管策略之间的差别的更多信息,请参阅托管策略与内联策略

    • 要附加现有的托管策略,请选择 Add permissions

    • 要编辑某个现有的内联策略,请选择该策略名称旁边的箭头,然后选择 Edit Policy

    • 要嵌入新内联策略,请选择 Add inline policy

    有关通过角色委派权限的示例策略,请参阅示例策略

    有关许可的更多信息,请参阅IAM 策略

更改角色的描述 (控制台)

  1. 在 IAM 控制台的导航窗格中,选择 Roles

  2. 选择要修改的角色的名称。

  3. Role description 旁边 (最右侧),选择 Edit

  4. 在框中键入新描述,然后选择 Save

修改角色 (AWS CLI、适用于 Windows PowerShell 的 AWS 工具、AWS API)

您可以使用 AWS 命令行界面或 IAM API 修改角色。

更改可访问角色的可信委托人 (AWS CLI、适用于 Windows PowerShell 的 AWS 工具、AWS API)

  1. 如果不知道想要修改的角色名称,请使用以下命令之一列出账户中的角色:

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

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

    例如,以下策略代码段演示如何在 Principal 元素中引用两个 AWS 账户:

    "Principal": { "AWS": [ "arn:aws-cn:iam::111122223333:root", "arn:aws-cn:iam::444455556666:root" ] },

    请记住,将账户添加到角色的信任策略只是建立信任关系工作的一半而已。默认情况下,可信账户中的任何用户均无法代入角色,直至该账户的管理员向用户授予代入角色的权限。为此,管理员必须将角色的 Amazon 资源名称 (ARN) 添加到 sts:AssumeRole 操作的 Allow 元素。有关更多信息,请参阅下一个过程以及主题向用户授予切换角色的权限

  4. 要更新信任策略,请使用以下命令之一:

允许可信外部账户中的用户使用角色 (AWS CLI、适用于 Windows PowerShell 的 AWS 工具AWS API)

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

  1. 首先创建授予权限的策略以担任角色。例如,下面的策略包含最低必需权限:

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws-cn:iam::AWS account ID that contains the role:role/role name" } }

    创建一个 JSON 文件并包含与上述示例类似的策略。使用允许用户担任的角色的 ARN 中的实际值替换用红色显示的值。在您创建策略之后,使用以下命令之一将其上传到 IAM:

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

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

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

更改角色允许的权限 (AWS CLI、适用于 Windows PowerShell 的 AWS 工具、AWS API)

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

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

    要更新托管策略,请使用以下命令之一创建托管策略的新版本:

    要更新内联策略,请使用以下命令之一:

更改角色的描述 (AWS CLI、AWS API)

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

  2. 要更新角色描述,请使用以下命令之一: