AWS Identity and Access Management
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

使用 IAM 角色

您必须先对用户授予切换到您创建的角色的权限,然后 IAM 用户、应用程序或服务才能使用该角色。您可使用附加到 IAM 用户组之一或用户本身的任何策略来授予所需权限。此部分介绍如何为用户授予角色使用权限,然后介绍用户如何使用 AWS 管理控制台、Windows PowerShell 工具、AWS Command Line Interface (AWS CLI) 和 AssumeRole API 切换到一个角色。

重要

如果您以编程方式而不是在 IAM 控制台中创建角色,则除最长可达 64 个字符的 RoleName 外,您还可以选择添加最长 512 个字符的 Path。不过,如果您打算通过 AWS 控制台中的切换角色功能使用角色,则组合的 PathRoleName 不能超过 64 个字符。

您可以从 AWS 管理控制台中切换角色。您可以调用 AWS CLI 或 API 操作或使用自定义 URL 以担任角色。您使用的方法决定了谁可以担任该角色,以及角色会话可以持续多长时间。

比较使用角色的方法

方法 谁可以担任角色 用于指定凭证生命周期的方法 凭证生命周期 (最小值 | 最大值 | 默认值)
AWS 管理控制台 IAM 用户 (通过切换角色) 1 小时 | 1 小时 | 1 小时
assume-role CLI 或 AssumeRole API 操作 IAM 用户或角色¹ duration-seconds CLI 或 DurationSeconds API 参数 15 分 | 最大会话持续时间设置² | 1 小时
assume-role-with-saml CLI 或 AssumeRoleWithSAML API 操作 使用 SAML 验证的任何用户 duration-seconds CLI 或 DurationSeconds API 参数 15 分 | 最大会话持续时间设置² | 1 小时
assume-role-with-web-identity CLI 或 AssumeRoleWithWebIdentity API 操作 使用 Web 身份提供商验证的任何用户 duration-seconds CLI 或 DurationSeconds API 参数 15 分 | 最大会话持续时间设置² | 1 小时
使用 AssumeRole 构造的控制台 URL IAM 用户或角色 URL 中的 SessionDuration HTML 参数 15 分钟 | 12 小时 | 1 小时
使用 AssumeRoleWithSAML 构造的控制台 URL 使用 SAML 验证的任何用户 URL 中的 SessionDuration HTML 参数 15 分钟 | 12 小时 | 1 小时
使用 AssumeRoleWithWebIdentity 构造的控制台 URL 使用 Web 身份提供商验证的任何用户 URL 中的 SessionDuration HTML 参数 15 分钟 | 12 小时 | 1 小时

¹ 使用一个角色的凭证担任其他角色称为角色链。在使用角色链时,新凭证的最大持续时间限制为 1 小时。

² 最大会话持续时间是一个可从控制台、AWS CLI 或 API 中应用于角色的设置。该设置指定从 CLI 或 API 中担任角色时的角色最大会话持续时间。该设置可以具有 1 小时到 12 小时之间的值。有关最大会话持续时间设置的详细信息,请参阅修改角色。该设置确定在获取角色凭证时可请求的最大会话持续时间。例如,在使用 AssumeRole* API 操作担任角色时,您可以使用 DurationSeconds 参数指定会话长度。可以使用该参数指定 900 秒 (15 分钟) 到角色的最大会话持续时间设置之间的角色会话长度。要了解如何查看您的角色的最大值,请参阅本页后面的查看角色的最大会话持续时间设置

查看角色的最大会话持续时间设置

在使用 AWS CLI 或 API 操作担任角色时,您可以为 DurationSeconds 参数指定一个值。您可以使用该参数指定 900 秒 (15 分钟) 到角色的最大 CLI/API 会话持续时间设置之间的角色会话持续时间。在指定该参数之前,应查看您的角色的该设置。如果指定的 DurationSeconds 参数值高于最大设置,操作将失败。

查看角色的最大会话持续时间(控制台)

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

  2. 选择要查看的角色的名称。

  3. 最大 CLI/API 会话持续时间旁边,查看可在 AWS CLI 或 API 操作中指定的最大会话长度。

查看角色的最大会话持续时间设置 (AWS CLI)

  1. 如果您不知道要承担的角色名称,请运行以下命令列出账户中的角色:

  2. 要查看角色的最大会话持续时间,请运行以下命令。然后,查看最大会话持续时间参数。

查看角色的最大会话持续时间设置 (AWS API)

  1. 如果您不知道要承担的角色名称,请调用以下操作以列出账户中的角色:

  2. 要查看角色的最大会话持续时间,请运行以下操作。然后,查看最大会话持续时间参数。