DynamoDB - Web 身份联合


Web Identity Federation 允许您简化大型用户组的身份验证和授权。您可以跳过个人帐户的创建,并要求用户登录身份提供商以获取临时凭据或令牌。它使用 AWS Security Token Service (STS) 来管理凭证。应用程序使用这些令牌与服务交互。

Web Identity Federation 还支持其他身份提供商,例如 Amazon、Google 和 Facebook。

功能- 在使用中,Web Identity Federation 首先调用身份提供者进行用户和应用程序身份验证,然后提供者返回令牌。这会导致应用程序调用 AWS STS 并传递用于输入的令牌。STS 对应用程序进行授权并授予其临时访问凭证,这允许应用程序使用 IAM 角色并根据策略访问资源。

实施 Web 身份联合

使用前您必须执行以下三个步骤 -

  • 使用受支持的第三方身份提供商注册为开发人员。

  • 向提供商注册您的应用程序以获得应用程序 ID。

  • 创建单个或多个 IAM 角色,包括策略附件。您必须为每个应用程序的每个提供商使用一个角色。

承担您的 IAM 角色之一以使用 Web Identity Federation。然后,您的应用程序必须执行三步过程 -

  • 验证
  • 证书获取
  • 资源访问

第一步,您的应用程序使用自己的接口来调用提供程序,然后管理令牌流程。

然后第二步管理令牌并要求您的应用程序向 AWS STS 发送AssumeRoleWithWebIdentity请求。该请求包含第一个令牌、提供商应用程序 ID 和 IAM 角色的 ARN。STS 提供的凭证设置为在一段时间后过期。

在最后一步中,您的应用程序会收到来自 STS 的响应,其中包含 DynamoDB 资源的访问信息。它由访问凭证、过期时间、角色和角色 ID 组成。