AWS 26 Cognito


--------------------------------------------------------------------------------------------------

Amazon Cognito

•我们希望给我们的用户一个身份,这样他们就可以与我们的应用交互

•Cognito用户池:
•应用程序用户的登录功能
•与API网关和应用程序负载平衡器集成
•Cognito身份池(联邦身份):
•向用户提供AWS凭据,以便他们可以直接访问AWS资源
•作为身份提供者与Cognito用户池集成

•Cognito同步:
•将数据从设备同步到Cognito。
•已弃用并被AppSync取代

•Cognito vs IAM:“数百名用户”、“移动用户”、“通过SAML认证”


Cognito用户池(CUP)——用户功能
•为你的web和移动应用创建一个无服务器的用户数据库
•简单登录:用户名(或电子邮件)/密码组合
•密码重置
•电子邮件和电话号码验证
•多因素认证(MFA)
•联合身份:来自Facebook、谷歌、SAML的用户…
•功能:如果用户的凭据在其他地方被泄露,则阻止用户
•登录发送回JSON Web令牌(JWT) JSON Web Token (JWT)

Cognito用户池(CUP)-集成
•CUP与API网关和应用程序负载平衡器集成

Cognito User Pools – Lambda Triggers
Cognito用户池–Lambda触发器
•CUP可以在这些触发器上同步调用Lambda函数:

Cognito用户池——托管身份验证UI hosted authentication UI
•Cognito有一个托管身份验证UI,您可以将其添加到应用程序中,以处理注册和登录工作流
•使用托管UI,您有与社交登录、OIDC或SAML集成的基础
•可以定制定制徽标和定制CSS


Cognito身份池(联邦身份)
•获取“用户”的身份,以便他们获得临时AWS凭据
•您的身份库(例如身份来源)可以包括:
•公共提供商(登录亚马逊、Facebook、谷歌、苹果)
•亚马逊Cognito用户池中的用户
•OpenID连接提供程序和SAML身份提供程序
•开发人员身份验证(自定义登录服务器)
•Cognito身份池允许未经验证的(访客)访问
•然后用户可以直接或通过API网关访问AWS服务
•应用于凭证的IAM策略在Cognito中定义
•它们可以根据用户id进行定制,以便进行细粒度控制

Cognito身份池——IAM角色
•认证用户和来宾用户的默认IAM角色
•定义规则,根据用户ID为每个用户选择角色
•您可以使用策略变量划分用户的访问权限

•IAM证书由Cognito身份池通过STS获得
•角色必须有Cognito身份池的“信任”策略


Cognito用户池与身份池
•Cognito用户池:
•web和移动应用程序的用户数据库
•允许通过公共社交、OIDC、SAML等方式联合登录…
•可以自定义托管用户界面以进行身份验证(包括徽标)]
•在身份验证流程中使用AWS Lambda触发

•Cognito身份池:
•为用户获取AWS凭据
•用户可以通过公共社交、OIDC、SAML和Cognito用户池登录
•用户可以未经身份验证(访客)
•用户被映射到IAM角色和策略,可以利用策略变量
•CUP+CIP=管理用户/密码+访问AWS服务

Cognito Sync
•已弃用–立即使用AWS AppSync
•商店偏好、配置、应用程序状态
•跨设备同步(任何平台——iOS、Android等)
•离线功能(恢复在线时同步)
•将数据存储在数据集中(高达1MB),最多可同步20个数据集
•推送同步:身份数据更改时,在所有设备上以静默方式通知
•Cognito流:将数据从Cognito流到Kinesis
•Cognito事件:执行Lambda函数以响应事件

-------------------------------------------------------------------------------------

posted @ 2022-04-15 06:36  姓蜀名黍  阅读(189)  评论(0)    收藏  举报