Amazon Cognito
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

什么是 Amazon Cognito?

Amazon Cognito 为您的 Web 和移动应用程序提供身份验证、授权和用户管理。您的用户可使用用户名和密码直接登录,也可以通过第三方 (如 Facebook、Amazon 或 Google) 登录。

Amazon Cognito 的两个主要组件是用户池和身份池。用户池是为您的应用程序提供注册和登录选项的用户目录。使用身份池,您可以授予用户访问其他 AWS 服务的权限。您可以单独或配合使用身份池和用户池。

将 Amazon Cognito 用户池和身份池配合使用

有关常见 Amazon Cognito 场景,请参阅图表。这里的目标是验证用户身份,然后授予用户访问其他 AWS 服务的权限。

  1. 在第一步中,您的应用程序用户通过用户池登录,并在成功进行身份验证后收到用户池令牌。

  2. 接下来,您的应用程序通过身份池用用户池令牌交换 AWS 凭证。

  3. 最后,您的应用程序用户可以使用这些 AWS 凭证来访问其他 AWS 服务(如 Amazon S3 或 DynamoDB)。


      Amazon Cognito 概述

有关使用身份池和用户池的更多示例,请参阅常见 Amazon Cognito 场景

Amazon Cognito 符合 SOC 1-3、PCI DSS、ISO 27001 的要求且符合 HIPAA-BAA 的条件。有关更多信息,请参阅 AWS 范围内服务。另请参阅 区域数据注意事项

Amazon Cognito 的功能

用户池

用户池是 Amazon Cognito 中的用户目录。利用用户池,您的用户可以通过 Amazon Cognito 登录您的 Web 或移动应用程序或通过第三方身份提供商 (IdP) 联合登录。无论您的用户是直接登录还是通过第三方登录,用户池的所有成员都有一个可通过开发工具包访问的目录配置文件。

用户池提供:

  • 注册和登录服务。

  • 用于登录用户的内置的、可自定义的 Web UI。

  • 使用 Facebook、Google 和 Login with Amazon 的社交登录并且通过您的用户池中的 SAML 和 OIDC 身份提供商的登录。

  • 用户目录管理和用户配置文件。

  • 多重验证 (MFA)、遭盗用凭证检查、账户盗用保护以及电话和电子邮件验证等安全功能。

  • 通过 AWS Lambda 触发器进行的自定义工作流程和用户迁移。

有关用户池的更多信息,请参阅 用户池入门Amazon Cognito 用户池 API 参考

身份池

借助身份池,您的用户可以获取临时 AWS 凭证来访问 AWS 服务(如 Amazon S3 和 DynamoDB)。身份池支持匿名访客用户以及可用来验证身份池用户的身份的以下身份提供商:

  • Amazon Cognito 用户池

  • 使用 Facebook、Google 和 Login with Amazon 的社交登录

  • OpenID Connect (OIDC) 提供商

  • SAML 身份提供商

  • 已经过开发人员验证的身份

要保存用户配置文件信息,您的身份池需要与用户池集成。

有关身份池的更多信息,请参阅Amazon Cognito 身份池入门 (联合身份)Amazon Cognito 身份池 API 参考

Amazon Cognito 入门

有关首要任务和开始位置的指南,请参阅 Amazon Cognito 入门

有关视频、文章、文档和示例应用程序,请参阅 Amazon Cognito 开发人员资源

您需要一个 AWS 账户才能使用 Amazon Cognito。有关更多信息,请参阅使用 Amazon Cognito 控制台

Amazon Cognito 定价

有关 Amazon Cognito 定价的信息,请参阅 Amazon Cognito 定价