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

为用户池创建和管理 SAML 身份提供商 (AWS 管理控制台)

您可以使用 AWS 管理控制台创建和删除 SAML 身份提供商。

在创建 SAML 身份提供商之前,您需要使用从第三方身份提供商 (IdP) 处获得的 SAML 元数据文档。有关如何获取或生成所需的 SAML 元数据文档的说明,请参阅将第三方 SAML 身份提供商与 Amazon Cognito 用户池集成

在您的用户池中配置 SAML 2.0 身份提供商

  1. 转到 Amazon Cognito 控制台。系统可能会提示您输入 AWS 凭证。

  2. 选择 Manage your User Pools

  3. 从列表中选择现有用户池,或创建用户池

  4. 在左侧导航栏上,选择身份提供商

  5. 选择 SAML 以打开 SAML 对话框。

  6. 元数据文档下,通过 SAML IdP 上传元数据文档。还可以输入指向该元数据文档的 URL。有关更多信息,请参阅 将第三方 SAML 身份提供商与 Amazon Cognito 用户池集成

    注意

    建议您提供终端节点 URL (如果它是一个公有终端节点),而不是上传文件,因为这将允许 Amazon Cognito 自动刷新元数据。通常,元数据刷新操作每 6 小时执行一次或在元数据过期前执行 (以时间较早者为准)。

  7. 输入 SAML 提供商名称。有关 SAML 命名的更多信息,请参阅选择 SAML 身份提供商名称

  8. 输入要使用的任何可选 SAML 标识符

  9. 如果希望用户在从 Amazon Cognito 注销的同时从 SAML IdP 注销,请选择启用 IdP 注销流程

    如果启用此流程,在调用 LOGOUT 终端节点 时,将会向 SAML IdP 发送已签名的注销请求。

    配置此终端节点以处理来自 IdP 的注销响应。此终端节点使用 POST 绑定。

    https://<yourDomainPrefix>.auth.<region>.amazoncognito.com/saml2/logout

    注意

    如果选择此选项,并且您的 SAML 身份提供商需要已签名的注销请求,则您还需要对您的 SAML IdP 配置 Amazon Cognito 提供的签名证书。

    SAML IdP 将处理已签名的注销请求并从 Amazon Cognito 会话中注销您的用户。

  10. 选择创建提供商

  11. Attribute mapping 选项卡上,至少为必需属性添加映射,通常是 email,如下所示:

    1. 按照您的身份提供商提供的 SAML 断言中的显示,键入 SAML 属性名称。如果身份提供商提供了示例 SAML 断言,这可能有助于您查找名称。一些身份提供商使用简单名称 (如 email),另一些则使用类似于下面的名称:

      http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
    2. 从下拉列表中选择目标用户池属性。

  12. 选择 Save changes

  13. 选择转到摘要页面

注意

如果您在使用 HTTPS 元数据终端节点 URL 创建 SAML 身份提供商时看见 InvalidParameterException(例如,“Error retrieving metadata from <metadata endpoint> (从 <元数据终端节点> 检索元数据时出错)”),请确保元数据终端节点已正确设置 SSL,并且存在与之关联的有效 SSL 证书。

设置 SAML IdP 以添加用户池作为信赖方

  • 用户池服务提供商 URN 为:urn:amazon:cognito:sp:<user_pool_id>。Amazon Cognito 向 SAML IdP 发布 AuthnRequest 以发布 SAML 断言以及对此 URN 的受众限制。您的 IdP 将以下 POST 绑定终端节点用于 IdP 到 SP 的响应消息:https://<domain_prefix>.auth.<region>.amazoncognito.com/saml2/idpresponse

  • 确保您的 SAML IdP 在 SAML 断言中为用户池填充 NameID 和任何所需属性。NameID 用于在用户池中唯一地标识您的 SAML 联合身份用户。使用持久性 SAML 名称 ID 格式。

设置 SAML IdP 以添加签名证书

  • 要获取包含身份提供商将用于验证已签名注销请求的公钥的证书,请在联合身份验证控制台页面上身份提供商下的 SAML 对话框中,选择活动 SAML 提供商下的显示签名证书

删除 SAML 提供商

  1. 登录 Amazon Cognito 控制台

  2. 在导航窗格中,选择管理您的用户池,然后选择要编辑的用户池。

  3. 联合身份验证控制台页面中选择身份提供商

  4. 选择 SAML 以显示 SAML 身份提供商。

  5. 选中要删除的提供商旁边的复选框。

  6. 选择删除提供商