Amazon Cognito 身份池 - Amazon Cognito

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

Amazon Cognito 身份池

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

Amazon Cognito 身份池的功能
签署请求 AWS 服务

API 请求签名给亚马逊简单存储服务 (Amazon S3) Servic AWS 服务 e 和亚马逊 DynamoDB。使用亚马逊 Pinpoint 和亚马逊等服务分析用户活动。 CloudWatch

使用基于资源的策略筛选请求

对于用户对资源的访问权限进行精细控制。将用户声明转换为 IAM 会话标签,并构建 IAM policy 以向用户的不同子集授予资源访问权限。

分配访客访问权限

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

根据用户特征分配 IAM 角色

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

接受各种身份提供者

将 ID 或访问令牌、用户池令牌、SAML 断言或社交提供商 OAuth 令牌交换凭证。 AWS

验证您自己的身份

执行您自己的用户验证,并使用您的开发者 AWS 证书为您的用户颁发证书。

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

还可以将来自任何身份提供者的经身份验证的声明直接提供给身份池。Amazon Cognito 将 SAML、OAuth 和 OIDC 提供商的用户声明自定义为短期证书的 API 请求。AssumeRoleWithWebIdentity

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

Amazon Cognito 身份池支持以下身份提供商:

有关 Amazon Cognito 身份池区域可用性的信息,请参阅AWS 服务区域可用性

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