

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon Cognito 身份池
<a name="cognito-identity"></a>

Amazon Cognito 身份池是联合身份的目录，您可以用它交换 Amazon 凭证。身份池会为您的应用程序的用户生成临时 Amazon 证书，无论他们已登录还是您尚未识别他们的身份。通过 Amazon Identity and Access Management (IAM) 角色和策略，您可以选择要向用户授予的权限级别。用户能够以访客身份开始，然后检索您保留在 Amazon Web Services 服务中的资产。然后，他们可以通过第三方身份提供者登录，以解锁对您提供给注册会员的资产的访问权限。第三方身份提供商可以是 Apple 或 Google 等消费者（社交） OAuth 2.0 提供商、自定义 SAML 或 OIDC 身份提供商，也可以是您自己设计的自定义身份验证方案（也称为*开发者提供商*）。Amazon Cognito 身份池的功能

**签署请求 Amazon Web Services 服务**  
将 [API 请求签名](https://docs.amazonaws.cn/AmazonS3/latest/API/sig-v4-authenticating-requests.html)给亚马逊简单存储服务 (Amazon S3) Servic Amazon Web Services 服务 e 和亚马逊 DynamoDB。使用亚马逊 Pinpoint 和亚马逊等服务分析用户活动。 CloudWatch

**使用基于资源的策略筛选请求**  
对于用户对资源的访问权限进行精细控制。将用户声明转换为 [IAM 会话标签](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_session-tags.html)，并构建 IAM policy 以向用户的不同子集授予资源访问权限。

**分配访客访问权限**  
对于尚未登录的用户，请将您的身份池配置为生成具有较窄访问权限范围的 Amazon 凭证。通过单点登录提供者对用户进行身份验证以提升其访问权限。

**根据用户特征分配 IAM 角色**  
为所有经身份验证的用户分配一个 IAM 角色，或者根据每个用户的声明选择角色。

**接受各种身份提供者**  
将 ID 或访问令牌、用户池令牌、SAML 断言或社交提供者 OAuth 令牌交换凭证。 Amazon 

**验证您自己的身份**  
执行您自己的用户验证，并使用您的开发者 Amazon 证书为您的用户颁发证书。

您可能已经有一个 Amazon Cognito 用户池，用于为您的应用程序提供身份验证和授权服务。您可以将用户池设置为身份池的身份提供者（IdP）。当你这样做时，你的用户可以通过你的用户池进行身份验证 IdPs，将他们的声明整合到一个普通的 OIDC 身份令牌中，然后用该令牌兑换证书。 Amazon 然后，您的用户可以在签名的请求中向 Amazon Web Services 服务提供其凭证。

还可以将来自任何身份提供者的经身份验证的声明直接提供给身份池。Amazon Cognito 将 SAML 和 OIDC 提供商的用户声明自定义为短期证书的 API [AssumeRoleWithWebIdentity](https://docs.amazonaws.cn/STS/latest/APIReference/API_AssumeRoleWithWebIdentity.html)请求。 OAuth

Amazon Cognito 用户池类似于支持 SSO 的应用程序的 OIDC 身份提供者。对于具有最适合 IAM 授权的资源依赖关系的任何应用程序，身份池充当其 *Amazon* 身份提供者。

Amazon Cognito 身份池支持以下身份提供商：
+ 公有提供商：[设置 Login with Amazon 作为身份池 IdP](amazon.md)、[将 Facebook 设置为身份池 IdP](facebook.md)、[将 Google 设置为身份池 IdP](google.md)、[使用 Apple 作为身份池 IdP 来设置登录](apple.md)、Twitter。
+ [Amazon Cognito 用户池](cognito-user-pools.md)
+ [设置 OIDC 提供者作为身份池 IdP](open-id.md)
+ [设置 SAML 提供者作为身份池 IdP](saml-identity-provider.md)
+ [经开发人员验证的身份](developer-authenticated-identities.md)

有关 Amazon Cognito 身份池区域可用性的信息，请参阅[Amazon 服务区域可用性](https://www.amazonaws.cn/about-aws/global-infrastructure/regional-product-services/)。

有关 Amazon Cognito 身份池的更多信息，请参阅以下主题。

**Topics**
+ [身份池控制台概述](identity-pools.md)
+ [身份池身份验证流程](authentication-flow.md)
+ [IAM 角色](iam-roles.md)
+ [Amazon Cognito 身份池的安全最佳实践](identity-pools-security-best-practices.md)
+ [将属性用于访问控制](attributes-for-access-control.md)
+ [使用基于角色的访问控制](role-based-access-control.md)
+ [获取凭证](getting-credentials.md)
+ [使用临时 Amazon Web Services 服务 凭证进行访问](accessing-aws-services.md)
+ [身份池第三方身份提供者](external-identity-providers.md)
+ [经开发人员验证的身份](developer-authenticated-identities.md)
+ [将未经身份验证的用户切换为经过身份验证的用户](switching-identities.md)