DynamoDB - Web身份验证和授权

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

Web Identity Federation还支持其他身份提供商,例如 - 亚马逊,谷歌和Facebook.

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

实施Web Identity Federation

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

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

  • 向提供商注册您的申请以获取应用ID.

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

假设您的一个IAM角色使用Web Identity Federation.然后,您的应用必须执行三个步骤并减去;

  • 身份验证

  • 凭据获取

  • 资源访问

在第一步中,您的应用使用自己的界面来呼叫提供商,然后管理令牌流程.

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

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