📜  DynamoDB-Web身份联合身份验证

📅  最后修改于: 2020-11-28 14:06:28             🧑  作者: Mango


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

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

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

实施Web身份联合

您必须先执行以下三个步骤,然后才能使用-

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

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

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

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

  • 认证方式
  • 凭证获取
  • 资源访问

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

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

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