Citrix Cloud

将本地 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 连接

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

    配置 Active Directory 连接

  2. 将类型选择为 Directory (LDAP)

    选择目录

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

    配置域控制器

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

    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 用户名格式,使最终用户能够使用其中任一格式登录 Workspace 或 Citrix Cloud。

  3. 配置扩展协定

    扩展协定

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

    密码凭据验证器

在 PingFederate 中配置 IDP 适配器

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

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

    创建适配器实例

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

    密码凭据验证器

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

    配置扩展协定

  4. 配置适配器属性

    配置适配器属性

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

    属性源和用户查找

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

    配置适配器协定履行

配置 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 请求。

    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,该 URL 将 SAML 路径附加到 PingFederate 服务器基本 URL。端点 URL - /saml/acs

      配置断言使用者服务 URL

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

      配置 SLO 服务 URL

    重要提示:

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

    1. 配置允许的 SAML 绑定

      配置允许的 SAML 绑定

    2. 配置签名策略

      配置签名策略

    重要提示:

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

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

      签名请求的强制执行

    2. 配置加密策略

      配置加密策略

      注意:

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

    3. 查看摘要选项卡。

      摘要选项卡

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

      摘要 摘要 摘要 摘要

      有用提示:

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

    协议设置

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

    Citrix Cloud SP 连接

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

    导出 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.