Citrix Cloud

将本地 PingFederate 服务器配置为工作区和 Citrix Cloud 的 SAML 提供程序

本文由 Citrix 和 Ping 工程师合作撰写,并经过双方审核,以确保撰写时的技术准确性。 请参阅 Ping 文档以获取有关如何配置、配置和授权内部 PingFederate 服务器以用作 SAML 提供商的说明,因为这超出了本文的范围。

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

必备条件

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

  • 您已经在组织内配置了内部 PingFederate 服务器并获得了必要的许可证。 有关更多信息,请参阅 PingFederate 安装
  • 您需要在 PingFederate 服务器上安装受支持的 Java 版本。 请参阅 Ping Identity 文档以了解受支持的 Java 版本。 有关更多信息,请参阅 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. 选择类型为 目录 (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 和活动目录数据存储的名称作为用户属性数据的来源。 值是用户的活动目录属性,例如 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,将 SAML 路径附加到 PingFederate 服务器基本 URL。 端点 URL - /saml/acs

      配置断言消费者服务 URL

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

      配置 SLO 服务 URL

    重要:

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

    1. 配置 允许的 SAML 绑定

      配置允许的 SAML 绑定

    2. 配置 签名策略

      配置签名策略

    重要:

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

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

      执行已签署的请求

    2. 配置 加密策略

      配置加密策略

      注意:

      建议在初始设置和测试期间将加密设置为 NONE ,以便您可以调试断言中缺失或不正确的 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. 可以以 XML 文件的形式导出 SP 连接。 Citrix 建议您在使用 Citrix Cloud 和 Workspace 测试 SP 连接后对其进行备份。

    导出 SP 连接

配置 Citrix Cloud SAML 连接

所有 Citrix 登录流程都需要由服务提供商使用 Workspace URL 或 Citrix Cloud GO URL 发起。

可在 CItrix Cloud SAML 连接中使用的 PingFederate SAML 端点的示例。

  • 身份提供者实体 ID: https://yourpingfedbaseurl.domain.com
  • 身份提供者 SSO 服务 URL: https://yourpingfedbaseurl.domain.com/idp/SSO.saml2
  • 身份提供商注销 URL: https://yourpingfedbaseurl.domain.com/idp/SLO.saml2

重要:

  • 不支持使用错误的 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=意外收到来自 YourSAMLApp 的 IdP 发起的 SAML 响应。