使用 IAM 角色 - Amazon Identity and Access Management
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

使用 IAM 角色

您必须先对用户授予切换到您创建的角色的权限,然后 IAM 用户、应用程序或服务才能使用该角色。您可使用附加到 IAM 用户组之一或用户本身的任何策略来授予所需权限。此部分介绍如何向用户授予权限以使用角色。它还说明用户可以如何从 Amazon Web Services Management Console、Tools for Windows PowerShell、Amazon Command Line Interface (Amazon CLI) 和 AssumeRole API 切换到角色。

重要

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

您可以从 Amazon Web Services Management Console中切换角色。您可以调用 Amazon CLI 或 API 操作或使用自定义 URL 以担任角色。您使用的方法决定了谁可以担任该角色,以及角色会话可以持续多长时间。

比较使用角色的方法
代入角色的方法 谁可以担任角色 用于指定凭证生命周期的方法 凭证生命周期 (最小值 | 最大值 | 默认值)
Amazon Web Services Management Console IAM 用户(通过切换角色 角色摘要页面上的最大会话持续时间 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 小时。当您使用角色向在 EC2 实例上运行的应用程序授予权限时,这些应用程序不受此限制的约束。

² 该设置可以具有 1 小时到 12 小时之间的值。有关修改最大会话持续时间设置的详细信息,请参阅 修改角色。该设置确定在获取角色凭证时可请求的最大会话持续时间。例如,在使用 AssumeRole* API 操作担任角色时,您可以使用 DurationSeconds 参数指定会话长度。使用此参数可以指定角色会话的长度,范围从 900 秒(15 分钟)直至角色的最大会话持续时间设置。在控制台中切换角色的 IAM 用户将被授予最大会话持续时间或 IAM 用户会话中的剩余时间(以较少者为准)。假定您将角色的最大持续时间设置为 5 小时。已登录到控制台达 10 小时(默认最长持续时间为 12 小时)的 IAM 用户会切换到该角色。可用的角色会话持续时间为 2 小时。要了解如何查看您的角色的最大值,请参阅本页后面的查看角色的最大会话持续时间设置

注意

最大会话持续时间设置不限制由 Amazon 服务承担的会话。

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

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

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

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

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

  3. 最大会话持续时间旁边,查看为角色授予的最大会话长度。这是您可以在 Amazon CLI 或 API 操作中指定的最大会话持续时间。

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

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

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

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

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

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