将本地 PingFederate 服务器配置为 Workspaces 和 Citrix Cloud 的 SAML 提供程序
本文由 Citrix 和 Ping 工程师协作撰写,并经双方审阅,以确保撰写时的技术准确性。有关如何预置、配置和许可本地 PingFederate 服务器以用作 SAML 提供程序的说明,请参阅 Ping 文档,因为这超出了本文的范围。
本文档是使用 PingFederate 11.3 和 12 版本撰写的。
先决条件
本文专门介绍 SAML 配置,并确保满足以下条件。
- 您已在组织内部预置了本地 PingFederate 服务器并获得了必要的许可证。有关详细信息,请参阅 PingFederate 安装。
- 您需要在 PingFederate 服务器上安装受支持的 Java 版本。有关受支持的 Java 版本,请参阅 Ping Identity 文档。有关详细信息,请参阅 Java PingFederate 要求。
- 您已配置所需的网络和防火墙规则,以允许 Citrix Cloud 和 Workspace 在 Workspace/Citrix Cloud 管理控制台 SAML 登录过程中重定向到本地 PingFederate 服务器。有关详细信息,请参阅 PingFederate 网络要求。
- 您已将公开签名的 x509 证书导入到 PingFederate 服务器,该证书可用作 PingFederate 服务器的服务器证书。
- 您已将公开签名的 x509 证书导入到 PingFederate 服务器,该证书可用作 IdP 的 SAML 签名证书。此证书必须在 SAML 连接过程中上传到 Citrix Cloud。
- 您已将本地 Active Directory 连接到 PingFederate。有关详细信息,请参阅 PingFederate LDAP 数据存储。
注意:
在配置 PingFederate 以与 Citrix Cloud 和 Workspace 配合使用时,请参阅 PingFederate 文档以了解各个 SAML 设置的作用,并补充此处提供的说明。
使用 PingFederate 中的数据存储配置到 AD 域的 Active Directory 连接
-
在数据存储中配置 Active Directory 连接。

-
将类型选择为 Directory (LDAP)。

-
为 LDAPS 连接配置域控制器,并在主机名字段中添加域控制器 FQDN 列表。然后单击测试连接。

-
配置完成后,Active Directory 连接应类似于以下示例:

上传 Citrix Cloud SAML 签名证书
- 单击安全选项卡。
-
在签名和解密密钥与证书中上传您希望 PingFederate 使用的 SAML 签名证书。

注意:
在此示例中,使用的证书是公开签名的 Digicert
pingfederateserver.domain.com证书。 -
上传用于签署 PingFederate 服务器 SAML 签名证书的任何 CA 证书。

注意:
PingFederate 服务器证书和 SAML 签名证书可以是相同的 SSL 证书,也可以使用不同的 SSL 证书。在配置 SAML 连接时,您需要向 Citrix Cloud 提供 SAML 签名证书的副本。

上传 Citrix Cloud 元数据
-
为 Citrix Cloud 元数据提供一个名称,并输入与您的 Citrix Cloud 租户所在的 Citrix Cloud 区域对应的元数据 URL。
- https://saml.cloud.com/saml/metadata - 商业版(欧盟、美国和亚太地区)
- https://saml.citrixcloud.jp/saml/metadata - 日本
- https://saml.cloud.us/saml/metadata - 政府版

-
配置完成后,Citrix Cloud 元数据配置应类似于以下示例。

在 PingFederate 中配置密码凭据验证器
有关详细信息,请参阅 PingFederate 密码凭据验证器。
-
将密码凭据验证器类型配置为 LDAP 用户名和密码。

-
配置实例配置。选择您之前配置的 AD 域连接和数据存储 使用 PingFederate 中的数据存储配置到 AD 域的 Active Directory 连接。输入示例中所示的合适 LDAP 筛选器。
(((sAMAccountName=${username})(userPrincipalName=${username}))
注意:
示例筛选器同时支持 sAMAccountName 和 userPrincipalName AD 用户名格式,使最终用户能够使用其中任一格式登录 Workspace 或 Citrix Cloud。
-
配置扩展协定。

-
密码凭据验证器摘要应类似于此示例。

在 PingFederate 中配置 IDP 适配器
有关详细信息,请参阅 PingFederate HTML 表单适配器。
-
创建类型为 HTML 表单 IdP 适配器的新 IDP 适配器。

-
选择您之前配置的现有密码凭据验证器并配置 IDP 适配器。有关详细信息,请参阅 在 PingFederate 中配置密码凭据验证器。

-
配置扩展协定,其中包含在 SAML 登录期间传递到 Citrix Cloud 或 Workspaces 的 SAML 属性。

-
配置适配器属性。

- 配置适配器协定映射,其中 SAML 属性映射到 AD 身份的 LDAP 用户属性。单击配置适配器协定。
-
配置属性源和用户查找。

-
配置适配器协定履行。选择 LDAP 和 Active Directory 数据存储的名称作为用户属性数据的源。值是用户的 Active Directory 属性,例如
objectGUID或objectSid。
配置 Citrix Cloud 或 Workspaces 的服务提供程序连接 (SAML 应用程序)
下面提供的 PingFederate 示例配置假定您的组织中有以下 SAML 身份验证要求。
- 从 Workspace/Citrix Cloud 管理控制台发送的 SAML 身份验证请求必须签名。
- SAML HTTP POST 绑定将用于 SSO 和 SLO 请求。
- 单点注销 (SLO) 是您组织中的一项要求。当最终用户从 Workspace 或 Citrix Cloud 管理控制台注销时,Citrix Cloud 会向 SAML 提供程序 (IdP) 发送 SAML SLO 请求以注销用户。
-
PingFederate 需要签名的 HTTP POST 请求才能启动注销。SAML 提供程序需要签名的 SLO 请求。

有关详细信息,请参阅 PingFederate SP 管理。
步骤
-
配置连接模板。

-
配置连接类型并选择浏览器 SSO 配置文件和 SAML 2.0。

-
配置连接选项。

-
导入 Citrix Cloud 元数据。选择 URL 和您之前创建的
CitrixCloudProdMetadataURL,然后单击加载元数据。
-
配置常规信息。将服务提供程序连接实体 ID、基本 URL 和连接名称设置为您的 Citrix Cloud 客户区域的 Citrix Cloud SAML 端点。
- https://saml.cloud.com - 商业版(欧盟、美国和亚太地区)
- https://saml.citrixcloud.jp - 日本
- https://saml.cloud.us - 政府版

-
配置协议设置。

-
使用默认的断言生存期设置。

- 配置 SAML 断言创建。
-
单击配置断言创建。

-
选择标准。

-
-
配置属性协定。

-
配置适配器实例。

-
配置映射方法。

-
配置属性协定履行。

-
将颁发条件配置为默认值,不带任何条件。

-
已完成的 IDP 适配器映射显示如下:

- 配置协议设置。Citrix Cloud 所需的 SAML 路径将附加到您的 PingFederate 服务器基本 URL。可以通过在端点 URL 字段中输入完整路径来覆盖基本 URL,但这通常是不必要且不希望的。
基本 URL - https://youpingfederateserver.domain.com
-
配置断言使用者服务 URL,该 URL 将 SAML 路径附加到 PingFederate 服务器基本 URL。端点 URL -
/saml/acs
-
配置 SLO 服务 URL。端点 URL -
/saml/logout/callback
重要提示:
如果您希望在从 Workspace 或 Citrix Cloud 注销时执行 SLO,则 Citrix Cloud SAML 连接需要配置 PingFederate 注销 URL 以匹配此项。未能配置 SAML 连接中的注销 URL 将导致最终用户仅从 Workspace 注销,而不会从 PingFederate 注销。
-
配置允许的 SAML 绑定。

-
配置签名策略。

重要提示:
SAML 签名设置必须在 SAML 连接的两端保持一致配置。Workspace 或 Citrix Cloud (SP) 必须配置为发送签名的 SSO 和 SLO 请求。
-
PingFederate (IDP) 必须配置为使用 Citrix Cloud SAML 签名验证证书执行签名请求的强制执行。

-
配置加密策略。

注意:
建议在初始设置和测试期间将加密设置为无,以便您可以调试断言中缺少或不正确的 SAML 属性的任何问题。如果您需要加密断言,建议您在证明成功登录 Workspace 或 Citrix Cloud 并且所有资源都已成功枚举并可以启动后,再启用加密。如果在启用加密时无法查看 SAML 断言的纯文本内容,则调试 SAML 问题将是不可能的。
-
查看摘要选项卡。

-
查看 Citrix Cloud 服务提供程序 (SP) 连接。配置 Citrix Cloud SP 连接后,它应类似于此示例:

有用提示:
使用 SP 连接激活和摘要页面来查看您的 SAML 应用程序并进行调试,因为它允许快速轻松地进行配置更改。SP 连接激活和摘要页面允许您通过单击任何部分的标题来导航到 SAML 配置的任何子部分。单击红色突出显示的任何标题以更新这些设置。

-
-
已完成的 Citrix Cloud SP 连接应在列表中显示如下。

-
可以将 SP 连接导出为 XML 文件。Citrix 建议您在与 Citrix Cloud 和 Workspace 测试后备份您的 SP 连接。

配置 Citrix Cloud SAML 连接
所有 Citrix 登录流程都需要使用 Workspace URL 或 Citrix Cloud GO URL 由服务提供程序启动。
在身份和访问管理 → 身份验证 → 添加身份提供程序 → SAML 中使用 SAML 连接的默认推荐值。
| 在 Citrix Cloud 中的此字段 | 输入此值 |
|---|---|
| 实体 ID |
https://yourpingfedbaseurl.domain.com,其中 yourpingfedbaseurl.domain.com 是您的 PingFederate 服务器域。 |
| 签名身份验证请求 | 是 |
| SSO 服务 URL |
https://yourpingfedbaseurl.domain.com/idp/SSO.saml2,其中 yourpingfedbaseurl.domain.com 是您的 PingFederate 服务器域。 |
| SSO 绑定机制 | HTTP Post |
| SAML 响应 | 签名响应或断言 |
| 身份验证上下文 | 未指定,精确 |
| 注销 URL |
https://yourpingfedbaseurl.domain.com/idp/SLO.saml2,其中 yourpingfedbaseurl.domain.com 是您的 PingFederate 服务器域。 |
| 签名注销请求 | 是 |
| SLO 绑定机制 | HTTP Post |
重要提示:
- 不支持使用不正确的 PingFederate IDP 启动的 SSO 端点
https://yourpingfederateserver.domain.com/idp/startSSO.ping?PartnerSpId=https://saml.cloud.com。Citrix Cloud 和 Workspace 不支持 IDP 启动的 SSO。- 以下摘录自 PingFederate 文档: 这是用于启动未经请求的 IdP 启动的单点登录 (SSO) 事务的路径,在此事务期间,包含断言的 SAML 响应将发送到服务提供程序 (SP)。
- 已知使用不正确的 SAML 端点会导致 SAML 登录失败,并在 Citrix Cloud 的身份验证平台中出现以下错误。
ExceptionMessage=An IdP-initiated SAML response from YourSAMLApp was received unexpectedly.