跳至主要内容

Amazon Cognito 文档

Amazon Cognito 旨在帮助您向 Web 和移动应用程序添加用户注册、登录和访问控制功能。Amazon Cognito 可将用户规模扩展到数百万,并支持通过 SAML 和 OIDC 使用社交身份提供商以及企业身份提供商进行登录。

自助注册

Amazon Cognito 为用户注册和登录提供了内置的可自定义用户界面,以及一组用于构建完全自定义的自助注册解决方案的 API。  用户可以使用您的应用程序的电子邮件、电话号码或用户名进行注册。自助注册流程使用户能够查看和更新他们的个人资料数据,包括自定义属性。自助服务选项包括使用短信或电子邮件重置密码。

身份存储

Amazon Cognito 用户池提供安全的身份存储,无需预置任何基础设施即可进行设置。对于直接注册的用户以及使用社交和企业身份提供商登录的联合用户,用户池将存储用户配置文件数据。

Amazon Cognito 身份存储是基于 API 的用户存储库。存储库和 API 支持每个用户最多存储 50 个自定义属性,支持不同的数据类型,并强制执行长度和可变性约束。选择用户在完成注册过程之前必须提供的所需属性。

迁移选项

用户可以使用批量导入或即时(JIT)迁移迁移到 Amazon Cognito。然后利用 CSV 文件导入流程实现批量用户迁移。使用 JIT 迁移流程时,Lambda 触发器会将迁移流程集成到登录工作流中,并且可以保留用户的密码。

高级安全功能

使用 Amazon Cognito 的高级安全功能可以帮助您保护对应用程序中用户帐户的访问。这些高级安全功能可以提供基于风险的自适应身份验证并防止使用被盗用的凭证。当 Amazon Cognito 检测到异常的登录活动,例如有人尝试在新位置和新设备登录时,则会为该活动分配一个风险分数,让您选择是提示用户进行额外验证还是拦截登录请求。用户可以使用 SMS 或基于时间的一次性密码(TOTP)生成程序验证其身份。

另外,当 Amazon Cognito 检测到用户输入的凭证已在被盗用时,它会提示他们更改密码。

联合身份验证

Amazon Cognito 旨在让您的用户能够通过 SAML 和 OIDC 使用社交身份提供商以及企业身份提供商进行登录。Amazon Cognito 是一个基于标准的身份提供商。一旦用户登录到 Amazon Cognito(通过本地身份验证或外部联合身份验证),他们就可以使用 OAuth/OIDC 访问联合资源。

AWS 资源访问控制

Amazon Cognito 可确保与应用程序的最终集成。Amazon 应用程序负载均衡器(ALB)和 Amazon API Gateway 具有内置的策略执行点,可提供基于 Amazon Cognito 令牌和范围的访问。

Amazon Cognito 的凭证代理(也称为 Amazon Cognito 身份池)提供对 AWS 资源的单点登录访问,例如 Amazon DynamoDB、Amazon S3 存储桶、AWS Lambda 无服务器组件和其他 Amazon 服务。您可以将用户动态映射到不同的角色,以支持对服务的最低权限访问。

Amazon Cognito 使用 OAuth 客户端凭证流提供机器对机器验证。

基于标准的身份验证

Amazon Cognito 使用通用的身份管理标准。

自适应身份验证

使用 Amazon Cognito 的高级安全功能,将自适应身份验证添加到应用程序有助于保护应用程序的用户帐户和用户体验。当 Amazon Cognito 检测到异常的登录活动,例如有人尝试在新位置和新设备登录时,则会为该活动分配一个风险分数,让您选择是提示用户进行额外验证还是拦截登录请求。用户可以使用 SMS 或基于时间的一次性密码(TOTP)生成程序验证其身份。

防止遭泄露的凭证

Amazon Cognito 的高级安全功能旨在帮助保护应用程序用户,避免其他人使用遭泄露的凭证未经授权访问这些用户的帐户。Amazon Cognito 检测到用户输入了已在其他地方遭泄露的凭证时,会提示他们更改密码。

其他信息

有关服务控制、安全特征和功能的更多信息,包括有关存储、检索、修改、限制和删除数据的信息(如适用),请参阅 https://docs.aws.amazon.com/index.html。对于 http://aws.amazon.com/agreement 上的《AWS 客户协议》或者您与 AWS 之间签订的用于管理您使用 AWS 服务的其他协议而言,这些其他信息并不构成此文档的一部分。