Web Identity Federation允许您简化大型用户组的身份验证和授权.您可以跳过创建个人帐户,并要求用户登录身份提供商以获取临时凭证或令牌.它使用AWS Security Token Service(STS)来管理凭据.应用程序使用这些令牌与服务进行交互.
Web Identity Federation还支持其他身份提供商,例如 - 亚马逊,谷歌和Facebook.
功能 : 在使用中,Web Identity Federation首先调用身份提供程序以进行用户和应用程序身份验证,并且提供程序返回令牌.这导致app调用AWS STS并传递令牌以进行输入. STS授权应用程序并授予其临时访问凭据,允许应用程序使用IAM角色并根据策略访问资源.
在使用之前,您必须执行以下三个步骤;
使用受支持的第三方身份提供商进行注册作为开发人员.
向提供商注册您的申请以获取应用ID.
创建单个或多个IAM角色,包括策略附件.每个应用程序必须为每个提供程序使用一个角色.
假设您的一个IAM角色使用Web Identity Federation.然后,您的应用必须执行三个步骤并减去;
身份验证
凭据获取
资源访问
在第一步中,您的应用使用自己的界面来呼叫提供商,然后管理令牌流程.
然后第二步管理令牌并要求您的应用向AWS STS发送 AssumeRoleWithWebIdentity 请求.该请求包含第一个令牌,提供者应用程序ID和IAM角色的ARN. STS提供的凭据设置在一段时间后过期.
在最后一步中,您的应用程序会收到来自STS的响应,其中包含DynamoDB资源的访问信息.它由访问凭据,到期时间,角色和角色ID组成.