本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Cognito 身份池
Amazon Cognito 身份池是联合身份的目录,您可以用它交换 AWS 凭证。身份池会为您的应用程序的用户生成临时 AWS 证书,无论他们已登录还是您尚未识别他们的身份。使用 AWS Identity and Access Management (IAM) 角色和策略,您可以选择要授予用户的权限级别。用户能够以访客身份开始,然后检索您保留在 AWS 服务中的资产。然后,他们可以通过第三方身份提供者登录,以解锁对您提供给注册会员的资产的访问权限。第三方身份提供商可以是 Apple 或 Google 等消费者(社交)OAuth2.0 提供商、自定义SAML或OIDC身份提供商,也可以是您自己设计的自定义身份验证方案(也称为开发者提供商)。
Amazon Cognito 身份池的功能
- 签署请求 AWS 服务
-
签署 AWS 服务 诸如亚马逊简单存储服务 (Amazon S3) Service 和 Amazon DynamoDB 之类的API请求。使用亚马逊 Pinpoint 和亚马逊等服务分析用户活动。 CloudWatch
- 使用基于资源的策略筛选请求
-
对于用户对资源的访问权限进行精细控制。将用户声明转换为IAM会话标签,并制定IAM策略,向不同的用户子集授予资源访问权限。
- 分配访客访问权限
-
对于尚未登录的用户,请将您的身份池配置为生成具有较窄访问权限范围的 AWS 凭证。通过单点登录提供者对用户进行身份验证以提升其访问权限。
- 根据用户特征分配IAM角色
-
为所有经过身份验证的用户分配一个IAM角色,或者根据每个用户的声明选择角色。
- 接受各种身份提供者
-
将 ID 或访问令牌、用户池令牌、SAML断言或社交提供者OAuth令牌交换凭证。 AWS
- 验证您自己的身份
-
执行您自己的用户验证,并使用您的开发者 AWS 证书为您的用户颁发证书。
您可能已经有一个 Amazon Cognito 用户群体,用于为您的应用程序提供身份验证和授权服务。您可以将用户群体设置为身份池的身份提供者(IdP)。当你这样做时,你的用户可以通过你的用户池进行身份验证 IdPs,将他们的声明整合到一个普通的OIDC身份令牌中,然后用该令牌兑换 AWS 证书。然后,您的用户可以在签名的请求中向 AWS 服务提供其凭证。
还可以将来自任何身份提供者的经身份验证的声明直接提供给身份池。Amazon Cognito 将来自SAMLOAuth、和OIDC提供商的用户声明自定义为短期AssumeRoleWithWebIdentityAPI证书申请。
Amazon Cognito 用户池就像OIDC支持您的SSO应用程序的身份提供商。身份池充当任何具有资源依赖关系且最适合IAM授权的应用程序的AWS身份提供者。
Amazon Cognito 身份池支持以下身份提供商:
有关 Amazon Cognito 身份池区域可用性的信息,请参阅AWS 服务区域可用性
有关 Amazon Cognito 身份池的更多信息,请参阅以下主题。