DynamoDB - 网络身份联合

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

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

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

实施网络身份联合

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

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

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

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

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

  • 身份验证
  • 凭证获取
  • 资源访问

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

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

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