Citrix Cloud™

将本地 PingFederate 服务器配置为商店和 Citrix Cloud™ 的 SAML 提供程序

本文由 Citrix® 和 Ping 工程师合作撰写,并经双方审阅,以确保撰写时的技术准确性。有关如何预配、配置和许可本地 PingFederate 服务器以用作 SAML 提供程序的说明,请参阅 Ping 文档,因为这超出了本文的范围。

本文档使用 PingFederate 11.3 和 12 版本编写。

先决条件

本文专门讨论 SAML 配置,并确保满足以下条件。

  • 您已在组织内预配了本地 PingFederate 服务器并获得了必要的许可证。有关详细信息,请参阅 PingFederate 安装
  • 您需要在 PingFederate 服务器上安装受支持的 Java 版本。有关受支持的 Java 版本,请参阅 Ping Identity 文档。有关详细信息,请参阅 Java PingFederate 要求
  • 您已配置所需的网络和防火墙规则,以允许 Citrix Cloud 在商店/Citrix Cloud 管理控制台 SAML 登录过程中重定向到本地 PingFederate 服务器。有关详细信息,请参阅 PingFederate 网络要求
  • 您已将公共签名的 x509 证书导入到 PingFederate 服务器,该证书可用作 PingFederate 服务器的服务器证书。
  • 您已将公共签名的 x509 证书导入到 PingFederate 服务器,该证书可用作 IdP 的 SAML 签名证书。此证书必须在 SAML 连接过程中上传到 Citrix Cloud。
  • 您已将本地 Active Directory 连接到 PingFederate。有关详细信息,请参阅 PingFederate LDAP 数据存储

注意:

在配置 PingFederate 以与 Citrix Cloud 和商店配合使用时,请参阅 PingFederate 文档以了解各个 SAML 设置的作用,并帮助补充此处提供的说明。

使用 PingFederate 中的数据存储配置到 AD 域的 Active Directory 连接

  1. 在数据存储中配置 Active Directory 连接。

    配置 Active Directory 连接

  2. 选择类型为 目录 (LDAP)

    选择目录

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

    配置域控制器

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

    活动目录连接

上传 Citrix Cloud SAML 签名证书

  1. 单击 安全 选项卡
  2. 签名和解密密钥和证书 中上传您希望 PingFederate 使用的 SAML 签名证书。

    签名和解密密钥和证书

    注意:

    本示例中使用的证书是公开签名的 Digicert pingfederateserver.domain.com 证书。

  3. 上传用于签署您的 PingFederate 服务器 SAML 签名证书的任何 CA 证书。

    SAML 签名证书

注意:

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

SSL 服务器证书

上传 Citrix Cloud 元数据

  1. 为 Citrix Cloud 元数据提供一个名称,并输入与您的 Citrix Cloud 租户所在的 Citrix Cloud 区域对应的元数据 URL。

    合作伙伴元数据 URL

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

    合作伙伴元数据 URL 已配置

在 PingFederate 中配置密码凭据验证器

有关详细信息,请参阅 PingFederate 密码凭据验证器

  1. 将密码凭据验证器类型配置为 LDAP 用户名和密码。

    密码凭据验证器

  2. 配置实例配置。选择您之前配置的 AD 域连接和数据存储 使用 PingFederate 中的数据存储配置到 AD 域的 Active Directory 连接。输入示例中所示的合适 LDAP 过滤器。 (((sAMAccountName=${username})(userPrincipalName=${username}))

    配置实例配置

    注意:

    示例过滤器同时支持 sAMAccountName 和 userPrincipalName AD 用户名格式,使最终用户能够使用其中任一格式登录到商店或 Citrix Cloud。

  3. 配置扩展协定

    扩展协定

  4. 密码凭据验证器摘要应与此示例类似。

    密码凭据验证器

在 PingFederate 中配置 IDP 适配器

有关详细信息,请参阅 PingFederate HTML 表单适配器

  1. 创建一个类型为 HTML 表单 IdP 适配器的新 IDP 适配器。

    创建适配器实例

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

    密码凭据验证器

  3. 配置扩展协定,其中包含在 SAML 登录期间传递给 Citrix Cloud 或商店的 SAML 属性。

    配置扩展协定(/en-us/citrix-cloud/media/authentication-extended-contract.png)

  4. 配置适配器属性

    配置适配器属性(/en-us/citrix-cloud/media/authentication-configure-adapter-attributes.png)

  5. 配置适配器协定映射,其中 SAML 属性映射到 AD 身份的 LDAP 用户属性。单击配置适配器协定

    设置 2 个二进制属性的编码。

    • objectGUID = base64(已编码)
    • objectSid = SID(未编码)

    配置适配器属性编码(/en-us/citrix-cloud/media/authentication-configure-adapter-attributes-encoding.png)

  6. 配置属性源和用户查找

    属性源和用户查找(/en-us/citrix-cloud/media/attribute-sources.png)

  7. 配置适配器协定履行。选择 LDAP 和您的活动目录数据存储名称作为用户属性数据的来源。值是用户的活动目录属性,例如 objectGUIDobjectSid

    配置适配器协定履行(/en-us/citrix-cloud/media/adapter-contract-fulfillment.png)

  8. 二进制属性编码应在HTML 表单适配器摘要中显示,如下面的屏幕截图所示。

    配置适配器摘要1(/en-us/citrix-cloud/media/configure-adapter-summary1.png)

    配置适配器摘要2(/en-us/citrix-cloud/media/configure-adapter-summary2.png)

配置 Citrix Cloud 或 Workspaces 的服务提供商连接(SAML 应用程序)

下面提供的 PingFederate 示例配置假定您的组织具有以下 SAML 身份验证要求。

  • 从商店/Citrix Cloud 管理控制台发送的 SAML 身份验证请求必须签名。
  • SAML HTTP POST 绑定将用于 SSO 和 SLO 请求。
  • 单点注销 (SLO) 是您组织的一项要求。当最终用户从商店或 Citrix Cloud 管理控制台注销时,Citrix Cloud 会向 SAML 提供商 (IdP) 发送 SAML SLO 请求以注销用户。
  • PingFederate 需要签名的 HTTP POST 请求才能启动注销。SAML 提供商需要签名的 SLO 请求。

    SLO 绑定机制

有关详细信息,请参阅 PingFederate SP 管理

步骤

  1. 配置 连接模板

    配置连接模板

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

    配置连接类型

  3. 配置 连接选项

    配置连接选项

  4. 导入 Citrix Cloud 元数据。选择 URL 和您之前创建的 CitrixCloudProdMetadata URL,然后单击“加载元数据

    导入 Citrix Cloud 元数据

  5. 配置“常规信息”。将服务提供商连接实体 ID、基本 URL 和连接名称设置为您的 Citrix Cloud 客户区域的 Citrix Cloud SAML 端点。

    配置常规信息

  6. 配置“协议设置”。

    配置协议设置

  7. 使用默认的“断言生命周期”设置。

    断言生命周期设置

  8. 配置 SAML 断言创建。
    1. 单击“配置断言创建

      配置断言创建

    2. 选择“标准”。

      选择标准

  9. 配置 属性协定

    配置属性协定

  10. 配置 适配器实例

    配置适配器实例

  11. 配置 映射方法

    配置映射方法

  12. 配置 属性协定履行

    配置属性协定履行

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

    配置颁发条件

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

    已完成的 IDP 适配器映射

  15. 配置 协议设置。Citrix Cloud 所需的 SAML 路径将附加到您的 PingFederate 服务器基本 URL。可以通过在端点 URL 字段中输入完整路径来覆盖基本 URL,但这通常是不必要且不理想的。 基本 URL - https://youpingfederateserver.domain.com
    1. 配置断言消费者服务 URL,它将 SAML 路径附加到 PingFederate 服务器基本 URL。端点 URL - /saml/acs

      配置断言消费者服务 URL

    2. 配置 SLO 服务 URL。端点 URL - /saml/logout/callback

      配置 SLO 服务 URL

    重要提示:

    如果您希望在从商店或 Citrix Cloud 注销时执行 SLO,则 Citrix Cloud SAML 连接需要配置 PingFederate 注销 URL 以匹配此项。如果未在 SAML 连接中配置注销 URL,则最终用户将仅从商店注销,而不会从 PingFederate 注销。

    1. 配置 允许的 SAML 绑定

      配置允许的 SAML 绑定

    2. 配置 签名策略

      配置签名策略

    重要提示:

    SAML 签名设置必须在 SAML 连接的两端保持一致配置。商店或 Citrix Cloud (SP) 必须配置为发送已签名的 SSO 和 SLO 请求。

    1. 必须配置 PingFederate (IDP) 以使用 Citrix Cloud SAML 签名验证证书来强制执行已签名的请求。

      强制执行已签名的请求

    2. 配置 加密策略

      配置加密策略

      注意:

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

    3. 查看摘要选项卡。

      摘要选项卡

    4. 查看Citrix Cloud 服务提供商 (SP) 连接。配置Citrix Cloud SP 连接后,它应如下例所示:

      摘要 摘要 摘要 摘要

      有用提示:

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

    协议设置

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

    Citrix Cloud 服务提供商连接

  17. 可以将 SP 连接导出为 XML 文件。Citrix 建议在您使用 Citrix Cloud 和商店测试 SP 连接后,对其进行备份。

    导出 SP 连接

配置 Citrix Cloud SAML 连接

所有 Citrix 登录流程都需要使用商店 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 提交
SAML 响应 签署响应或断言
身份验证上下文 未指定,精确
注销 URL https://yourpingfedbaseurl.domain.com/idp/SLO.saml2 其中 yourpingfedbaseurl.domain.com 是您的 PingFederate 服务器域。
签署注销请求
SLO 绑定机制 HTTP 提交

重要提示:

  • 不支持使用不正确的 PingFederate IDP 发起的 SSO 端点 https://yourpingfederateserver.domain.com/idp/startSSO.ping?PartnerSpId=https://saml.cloud.com。Citrix Cloud 和 Store 不支持 IDP 发起的 SSO。
  • 以下摘录自 PingFederate 文档: 这是用于启动非请求的 IdP 发起的单点登录 (SSO) 事务的路径,在此事务期间,包含断言的 SAML 响应将发送到服务提供商 (SP)。
  • 已知使用不正确的 SAML 端点会导致 SAML 登录失败以及 Citrix Cloud 身份验证平台中出现以下错误。 ExceptionMessage=An IdP-initiated SAML response from YourSAMLApp was received unexpectedly.