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

临时安全凭证

您可以使用 AWS Security Token Service (AWS STS) 创建可控制对您的 AWS 资源的访问的临时安全凭证,并将这些凭证提供给可信用户。临时安全凭证的工作方式与您的 IAM 用户可使用的长期访问密钥凭证的工作方式几乎相同,仅存在以下差异:

  • 顾名思义,临时安全凭证是短期凭证。可将这些凭证的有效时间配置几分钟到几小时。一旦这些凭证到期,AWS 将不再识别这些凭证或不再允许来自使用这些凭证发出的 API 请求的任何类型的访问。

  • 临时安全凭证不随用户一起存储,而是动态生成并在用户提出请求时提供给用户。临时安全凭证到期时 (甚至之前),用户可以请求新的凭证,只要请求凭证的用户仍有权这样做。

这些差异使得可利用临时凭证获得以下优势:

  • 您不必随应用程序分配或嵌入长期 AWS 安全凭证。

  • 可允许用户访问您的 AWS 资源,而不必为这些用户定义 AWS 身份。临时凭证是角色和联合身份验证的基础。

  • 临时安全凭证的使用期限有限,因此,在不需要这些证书时不必轮换或显式撤消这些证书。临时安全凭证到期后无法重复使用。您可指定证书的有效期,但有最长限期。

AWS STS 和 AWS 区域

临时安全凭证由 AWS STS 生成。默认情况下,AWS STS 是一种全局服务,在 https://sts.amazonaws.com.cn 上具有单个终端节点。但是,您也可以选择对任何其他受支持区域中的终端节点发出 AWS STS API 调用。这可以通过将请求发送至地理位置比较接近您的区域中的服务器来减少延迟 (服务器延迟)。无论您的证书来自哪个区域,它们都在全球范围起作用。有关更多信息,请参阅 在 AWS 区域中激活和停用 AWS STS

临时凭证的常见情形

临时凭证在涉及联合身份验证、委派、跨账户访问和 IAM 角色的情形中很有用。

联合身份

您可以在 AWS 之外的外部系统中管理用户身份,并为从这些系统登录的用户授予访问权限以执行 AWS 任务和访问您的 AWS 资源。IAM 支持两种类型的联合身份验证。在两种情况下,身份都存储在 AWS 外部。区别在于外部系统所处的位置 – 在您的数据中心内或 Web 上的外部第三方。有关外部身份提供商的更多信息,请参阅身份提供商和联合

  • 企业联合身份验证 – 您可以对您的组织网络中的用户进行身份验证,然后为这些用户提供对 AWS 的访问权限,而无需为其创建新的 AWS 身份并要求他们使用单独的用户名和密码进行登录。这称为用于临时访问的单点登录 (SSO) 方法。AWS STS 支持开放标准 (如安全断言标记语言 (SAML) 2.0),这使您可以使用 Microsoft AD FS 来利用您的 Microsoft Active Directory。您还可以使用 SAML 2.0 管理自己的联合身份用户身份解决方案。有关更多信息,请参阅 关于基于 SAML 2.0 的联合身份验证

  • Web 联合身份验证 – 您可让用户使用已知的第三方身份提供商 (例如,Login with Amazon、Facebook、Google 或任何 OpenID Connect (OIDC) 2.0 兼容的提供商) 登录。您可以交换来自这些提供商的凭证,以获取对您的 AWS 账户中的资源的临时使用权限。这称为用于临时访问的 Web 联合身份验证方法。当您对移动应用程序或 Web 应用程序使用 Web 联合身份验证时,您不需要创建自定义登录代码或管理您自己的用户身份。使用 Web 联合身份验证可帮助您确保 AWS 账户的安全,因为您不必随应用程序分配长期安全凭证 (如 IAM 用户访问密钥)。有关更多信息,请参阅 关于 Web 联合身份验证

    AWS STS Web 联合身份验证支持 Login with Amazon、Facebook、Google 和任何 OpenID Connect (OIDC) 兼容的身份提供商。

    注意

    有关移动应用程序,我们建议使用 Amazon Cognito。您可以使用该服务及适用于 iOS 的 AWS 移动软件开发工具包适用于 Android 和 Fire OS 的 AWS 移动软件开发工具包为用户创建唯一的身份并对其进行身份验证,以实现对您的 AWS 资源的安全访问。Amazon Cognito 支持与 AWS STS 相同的身份提供商,还支持未经身份验证的 (来宾) 访问,并允许您在用户登录时迁移用户数据。Amazon Cognito 还提供用于同步用户数据的 API 操作,因此,无论用户在设备间怎样转移,其数据总能得以保留。有关更多信息,请参阅下列内容:

用于跨账户访问的角色

很多组织维护多个 AWS 账户。利用角色和跨账户访问,您可以在一个账户中定义用户身份,并使用这些身份访问属于您组织的其他账户中的 AWS 资源。这称为用于临时访问的委派方法。有关更多信息,请参阅 创建向 IAM 用户委派权限的角色

适用于 Amazon EC2 的角色

如果您在 Amazon EC2 实例上运行一些应用程序,并且这些应用程序需要访问 AWS 资源,则您可在启动您的实例时为其提供临时安全凭证。这些临时安全凭证对该实例上运行的所有应用程序都可用,因此您无需在该实例上存储任何长期证书。有关更多信息,请参阅 使用 IAM角色向在 Amazon EC2 实例上运行的应用程序授予权限

其他 AWS 服务

可使用临时安全凭证访问大多数 AWS 服务。有关接受临时安全凭证的服务的列表,请参阅使用 IAM 的 AWS 服务