DynamoDB - Web身份联合



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

Web身份联合还支持其他身份提供商,例如亚马逊、谷歌和Facebook。

功能 - 使用中,Web身份联合首先调用身份提供商进行用户和应用程序身份验证,提供商返回一个令牌。这导致应用程序调用AWS STS并将令牌作为输入传递。STS授权应用程序并授予其临时访问凭证,这允许应用程序使用IAM角色并根据策略访问资源。

实施Web身份联合

在使用之前,您必须执行以下三个步骤:

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

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

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

假设您的一个IAM角色使用Web身份联合。然后,您的应用程序必须执行一个三步过程:

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

第一步中,您的应用程序使用其自己的界面调用提供商,然后管理令牌流程。

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

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

广告