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 列表。然后单击 Test Connection

    配置域控制器

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

    Active Directory 连接

上传 Citrix Cloud SAML 签名证书

  1. 单击 Security 选项卡
  2. Signing & Decryption Keys and Certificates 中上传您希望 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. 配置 Instance Configuration。选择您之前配置的 AD 域连接和数据存储 使用 PingFederate 中的数据存储配置到 AD 域的 Active Directory 连接。输入示例中所示的合适 LDAP 筛选器。 `(((sAMAccountName=${username})(userPrincipalName=${username}))`

    配置实例配置

    注意:

    示例筛选器同时支持 sAMAccountName 和 userPrincipalName AD 用户名格式,使用户能够使用这两种格式中的任何一种登录 Workspace 或 Citrix Cloud。

  3. 配置 Extended Contract

    扩展合同

  4. Password Credential Validator 摘要应类似于此示例。

    密码凭据验证程序

在 PingFederate 中配置 IDP 适配器

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

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

    创建适配器实例

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

    密码凭据验证程序

  3. 使用在 SAML 登录期间传递到 Citrix Cloud 或 Workspaces 的 SAML 属性配置 Extended Contract

    配置扩展合同

  4. 配置 Adapter Attributes

    配置适配器属性

  5. 配置 Adapter Contract Mapping,其中 SAML 属性映射到 AD 身份的 LDAP 用户属性。单击 Configure the adapter contract
  6. 配置 Attribute Sources & User Lookup

    属性源和用户查找

  7. 配置 Adapter Contract Fulfilment。选择 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. 配置 Connection Template

    配置连接模板

  2. 配置 Connection Type 并选择 Browser SSO profiles and SAML 2.0

    配置连接类型

  3. 配置 Connection Options

    配置连接选项

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

    导入 Citrix Cloud 元数据

  5. 配置 General Info。将服务提供程序连接实体 ID、基本 URL 和连接名称设置为您的 Citrix Cloud 客户区域的 Citrix Cloud SAML 端点。

    配置常规信息

  6. 配置 Protocol Settings

    配置协议设置

  7. 使用默认的 Assertion Lifetime 设置。

    断言生命周期设置

  8. 配置 SAML 断言创建。
    1. 单击 Configure Assertion Creation

      配置断言创建

    2. 选择 Standard

      选择标准

  9. 配置 Attribute Contract

    配置属性合同

  10. 配置 Adapter Instance

    配置适配器实例

  11. 配置 Mapping Method

    配置映射方法

  12. 配置 Attribute Contract Fulfilment

    配置属性合同履行

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

    配置颁发条件

  14. 完成的 IDP Adapter Mapping 如下所示:

    已完成的 IDP 适配器映射

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

      配置断言消费者服务 URL

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

      配置 SLO 服务 URL

    重要提示:

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

    1. 配置 Allowable SAML Bindings

      配置允许的 SAML 绑定

    2. 配置 Signature Policy

      配置签名策略

    重要提示:

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

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

      签名请求的强制执行

    2. 配置 Encryption Policy

      配置加密策略

      注意:

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

    3. 查看 Summary 选项卡。

      摘要选项卡

    4. 查看 Citrix Cloud Service Provider (SP) Connection。配置完成后,Citrix Cloud SP connection 应类似于此示例:

      摘要 摘要 摘要 摘要

      有用提示:

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

    协议设置

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

    Citrix Cloud SP 连接

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

    导出 SP 连接

配置 Citrix Cloud SAML 连接

所有 Citrix 登录流程都需要使用 Workspace URL 或 Citrix Cloud GO URL 由服务提供程序启动。

Identity and Access Management → Authentication →Add an identity provider → 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.