使用身份池 (联合身份) - Amazon Cognito
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

使用身份池 (联合身份)

Amazon Cognito 身份池提供临时Amazon身份验证 (未经身份验证) 和经过身份验证并收到了令牌的用户的凭证。身份池是用于存储特定于您的账户的用户身份数据的存储区。

在控制台中创建新的身份池

  1. 登录到Amazon Cognito 控制台中,选择管理身份池,然后选择创建新的身份池

  2. 为身份池键入一个名称。

  3. 要启用未经身份验证的身份,请从 Unauthenticated identities 可折叠部分中选择 Enable access to unauthenticated identities

  4. 如果需要,请在身份验证提供商部分中配置身份验证提供商。

  5. 选择 Create Pool

    注意

    有效身份池至少需要一个身份。

  6. 系统将提示您访问您的Amazon资源的费用。

    选择Allow以创建两个与您的身份池关联的默认角色,一个用于未经身份验证的用户,另一个用于经过身份验证的用户。这些默认角色会向您的身份池提供对 Amazon Cognito 同步的访问权限。您可以在 IAM 控制台中修改与身份池关联的角色。有关使用 Amazon Cognito 控制台的更多说明,请参阅使用 Amazon Cognito 控制台

用户 IAM 角色

IAM 角色定义您的用户访问权限Amazon资源,如Amazon Cognito 同步。您的应用程序用户将担任您创建的角色。您可以为经过身份验证和未经身份验证的用户指定不同角色。要了解有关 IAM 角色的更多信息,请参阅 IAM 角色

经过身份验证和未经身份验证的身份

Amazon Cognito 身份池同时支持经过身份验证和未经身份验证的身份。经过身份验证的身份属于已通过任何受支持的身份提供商进行身份验证的用户。未经身份验证的身份通常属于来宾用户。

启用或禁用未经身份验证的身份

Amazon Cognito 身份池可以支持未经身份验证的身份,具体方法是:提供唯一标识符和Amazon凭证,针对每个未使用身份提供商进行身份验证的身份。如果应用程序允许未登录的用户,则您可以针对未经身份验证的身份启用访问权限。要了解更多信息,请参阅“Amazon Cognito 身份池入门 (联合身份)”。

选择管理身份池来自 的Amazon Cognito 控制台

  1. 单击想要针对其启用或禁用未经身份验证的身份的身份池的名称。此时将显示身份池的控制面板页。

  2. 在“控制面板”页的右上角,单击编辑身份池。此时将显示编辑身份池页。

  3. 向下滚动并单击未经验证的身份以将其展开。

  4. 选中复选框以启用或禁用对未经身份验证的身份的访问权限。

  5. 单击保存更改

更改与身份类型关联的角色

身份池定义了两种类型的身份:经过身份验证的身份和未经身份验证的身份。身份池中的每个身份要么经过身份验证,要么未经过身份验证。经过身份验证的身份属于由公共登录提供商(Amazon Cognito 用户池、Login with Amazon、Sign with Apple、Facebook、Google、SAML 或任何 OpenID Connect 提供商)或开发人员提供商(自己的后端身份验证流程)验证身份的用户。未经身份验证的身份通常属于来宾用户。

每个身份类型都有一个分配的角色。此角色附加了一个策略,策略指示了哪个策略Amazon角色可以访问的服务。Amazon Cognito 收到请求后,服务将确定身份类型、确定分配给该身份类型的角色,并使用附加到该角色的策略进行响应。通过修改策略或向身份类型分配不同的角色,您可以控制Amazon身份类型可以访问的服务。要查看或修改与身份池中的角色关联的策略,请参阅AmazonIAM 控制台

您可以使用 Amazon Cognito 身份池 (联合身份) 控制台更改与身份类型关联的角色。选择管理身份池来自 的Amazon Cognito 控制台

  1. 单击想要针对其修改角色的身份池的名称。此时将显示身份池的控制面板页。

  2. 在“控制面板”页的右上角,单击编辑身份池。此时将显示编辑身份池页。

  3. 使用未经身份验证的角色经过身份验证的角色旁边的下拉菜单更改角色。单击创建新角色以创建或修改与每个身份类型相关联的角色,AmazonIAM 控制台。有关更多信息,请参阅 IAM 角色

启用或编辑身份验证提供商

如果您允许用户使用公共身份提供商 (如 Amazon Cognito 用户池、Login with Amazon、Sign with Apple、Facebook、Google) 进行身份验证,则您可以在 Amazon Cognito 身份池 (联合身份) 控制台中指定应用程序标识符。上述操作会将应用程序 ID (由公共登录提供商提供) 与身份池关联。

您还可以从此页面为每个提供商配置身份验证规则。每个提供商最多可以有 25 个规则。规则按您为各个提供商保存的顺序应用。有关更多信息,请参阅基于角色的访问控制

警告

更改与身份池关联的应用程序 ID 将禁止现有用户通过该身份池进行身份验证。了解有关身份池 (联合身份) 外部身份提供商的更多信息。

选择管理身份池来自 的Amazon Cognito 控制台

  1. 单击想要针对其启用外部提供商的身份池的名称。此时将显示身份池的控制面板页。

  2. 在“控制面板”页的右上角,单击编辑身份池。此时将显示编辑身份池页。

  3. 向下滚动并单击身份验证提供商以将其展开。

  4. 单击相应提供商的选项卡,然后输入与该身份验证提供商相关的所需信息。

删除身份池

选择管理身份池来自 的Amazon Cognito 控制台

  1. 单击要删除的身份池的名称。此时将显示身份池的控制面板页。

  2. 在“控制面板”页的右上角,单击编辑身份池。此时将显示编辑身份池页。

  3. 向下滚动并单击删除身份池以将其展开。

  4. 单击删除身份池

  5. 单击删除池

警告

单击删除按钮后,您将永久删除身份池和其中包含的所有用户数据。删除身份池将导致使用身份池的应用程序和其他服务停止工作。

从身份池删除身份

选择管理身份池来自 的Amazon Cognito 控制台

  1. 单击包含要删除的身份的身份池的名称。此时将显示身份池的控制面板页。

  2. 在“控制面板”页的左侧导航窗格中,单击身份浏览器。此时将显示身份页。

  3. 身份页面上,输入要删除的身份 ID,然后单击搜索

  4. 身份详细信息页面上,单击删除身份按钮,然后单击删除