如何使用 Amazon Cognito 用户池将 AD FS 设置为 SAML 身份提供商?

2 分钟阅读
0

我想使用 Amazon Cognito 用户池将 Active Directory 联合身份验证服务 (AD FS) 设为安全断言标记语言 2.0 (SAML 2.0) 身份提供商 (IdP)。该如何进行设置?

简短描述

Amazon Cognito 用户池允许通过第三方(包括通过 AD FS 等 SAML IdP)登录(联合身份)。有关更多信息,请参阅通过第三方添加用户池登录向用户池添加 SAML 身份提供商

您可以在 Amazon Elastic Compute Cloud (Amazon EC2) Windows 实例上设置 AD FS 服务器和域控制器,然后使用 Amazon Cognito 的托管 Web UI 将设置与用户池相集成。

**重要提示:**对于此解决方案,您需要使用自己的域名。如果您没有域名,则可以使用 Amazon Route 53 或其他域名系统 (DNS) 服务注册新域名。

解决方法

创建具有应用程序客户端的 Amazon Cognito 用户池

有关更多信息,请参阅教程:创建用户池使用 Amazon Cognito 控制台设置托管 UI

**注意:**创建用户池时,系统会默认选择标准属性 email。有关用户池属性的更多信息,请参阅配置用户池属性

设置 EC2 Windows 实例

配置并启动某个 EC2 Windows 实例,然后在其上设置 AD FS 服务器和域控制器。有关更多信息,请参阅如何在 Amazon EC2 Windows 实例上设置 AD FS,以对 Amazon Cognito 用户池使用联合身份验证?

在 Amazon Cognito 中将 AD FS 服务器配置为 SAML IdP

有关更多信息,请参阅为用户池创建和管理 SAML 身份提供商(AWS 管理控制台),并按照在用户池中配置 SAML 2.0 身份提供商下的说明操作。

在创建 SAML IdP 时,对于元数据文档,可粘贴元数据文档终端节点 URL 或上传 .xml 元数据文件。

将电子邮件地址从 IdP 属性映射到用户池属性

有关更多信息,请参阅指定适用于用户池的身份提供商属性映射,并按照指定 SAML 提供商属性映射下的说明操作。

在添加 SAML 属性时,对于 SAML 属性,请输入 http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress。对于用户池属性,请从列表中选择电子邮件

在 Amazon Cognito 中更改应用程序客户端设置

  1. 在用户池的 Amazon Cognito 控制台管理页面的应用程序集成下,选择应用程序客户端设置。然后执行以下操作:
    启用身份提供商下,选中与您配置的 SAML IdP 对应的复选框。例如,ADFS
    对于回调 URL,请输入您希望用户在登录后被重定向至的 URL。
    对于注销 URL,请输入您希望用户在退出登录后被重定向至的 URL。
    允许的 OAuth 流程下,选中 Authorization code grant (授权代码授予)Implicit Grant (隐式授予) 复选框。
    允许的 OAuth 范围下,选中所有复选框。
  2. 选择保存更改。有关更多信息,请参阅应用程序客户端设置术语

使用 Amazon Cognito 托管 Web UI 测试设置

  1. 在 Web 浏览器中输入以下 URL: https://domainNamePrefix.auth.region.amazoncognito.com/login?response_type=token&client_id=appClientId&redirect_uri=https://www.example.com 注意:对于 URL,请使用用户池和应用程序客户端中的值。在应用程序集成页面上的 Amazon Cognito 控制台中,查找用户池的域(包括域名前缀和 AWS 区域)。在应用程序客户端设置中查找应用程序客户端 ID。使用您的 SAML IdP 的回调 URL 替换 https://www.example.com
  2. 选择您配置的 SAML IdP 的名称。您会被重定向至 AD FS 身份验证页面。
  3. 在 **Sign in with your organizational account (使用您的组织账户登录)**下,输入您的 Active Directory 用户的用户名和密码。
  4. 选择 Sign in(登录)。如果登录成功,则 Amazon Cognito 将返回用户池令牌和成功的 SAML 响应。有关查看 SAML 响应的更多信息,请参阅如何在浏览器中查看 SAML 响应以排查问题。 **注意:**解码后,SAML 响应应包含所需的属性 NameID

相关信息

使用 Amazon Cognito 用户池为 Web 应用程序构建 ADFS 联合身份

将第三方 SAML 身份提供商与 Amazon Cognito 用户池集成

SAML 用户池 IdP 身份验证流程

如何使用 Amazon Cognito 用户池设置第三方 SAML 身份提供商?

相关视频

AWS 官方
AWS 官方已更新 3 年前