Citrix Cloud

将 SAML 作为身份提供商连接到 Citrix Cloud

Citrix Cloud 支持使用 SAML(安全断言标记语言)作为身份提供程序来对登录其 Workspace 的 Citrix Cloud 管理员和订阅者进行身份验证。您可以将自己选择的 SAML 2.0 提供程序与本地Active Directory (AD) 配合使用。

关于这篇文章

本文介绍了在 Citrix Cloud 和您的 SAML 提供商之间配置连接所需的步骤。其中一些步骤描述了您在 SAML 提供商的管理控制台中执行的操作。您用于执行这些操作的特定命令可能与本文中描述的命令有所不同,具体取决于您选择的 SAML 提供商。这些 SAML 提供程序命令仅作为示例提供。有关适用于 SAML 提供商的相应命令的更多信息,请参阅 SAML 提供商的文档。

SAML 提供商配置

Citrix 提供了以下配置指南,以确保您的 SAML 提供商与 Citrix Cloud 顺畅交互:

支持的 SAML 提供商

支持官方 SAML 2.0 规范的 SAML 提供商可与 Citrix Cloud 配合使用。

Citrix 已经测试了以下 SAML 提供商,用于对 Citrix Cloud 管理员进行身份验证,以及使用单点登录 (SSO) 和单点注销 (SLO) 对 Citrix Workspace 订阅者进行身份验证。还支持未出现在此列表中的 SAML 提供商。

  • Microsoft ADFS
  • Microsoft Azure AD
  • Duo
  • Okta
  • OneLogin
  • PingOne SSO
  • PingFederate

在测试这些提供程序时,Citrix 使用以下设置在 Citrix Cloud 控制台中配置 SAML 连接:

  • 绑定机制:HTTP Post
  • SAML 响应:对响应或断言进行签名
  • 身份验证上下文:未指定、精确

这些设置的值是在您在 Citrix Cloud 中配置 SAML 连接时默认配置的。Citrix 建议在配置与所选 SAML 提供商的连接时使用这些设置。

有关这些设置的更多信息,请参阅本文中的将 SAML 提供程序元数据添加到 Citrix Cloud

支持限定范围内的实体 ID

本文介绍如何使用单个 SAML 应用程序和 Citrix Cloud 的默认通用实体 ID 配置 SAML 身份验证。

如果您的 SAML 身份验证要求包括需要在单个 SAML 提供程序中使用多个 SAML 应用程序,请参阅在 Citrix Cloud 中使用限定范围内的实体 ID 配置 SAML 应用程序

必备条件

在 Citrix Cloud 中使用 SAML 身份验证有以下要求:

  • 支持 SAML 2.0 的 SAML 提供商。
  • 本地 AD 域。
  • 两个 Cloud Connector 部署到资源位置并加入到您的本地 AD 域。Cloud Connector 用于确保 Citrix Cloud 可以与您的资源位置进行通信。
  • 与您的 SAML 提供商的 AD 集成。

Cloud Connector

您至少需要两 (2) 台服务器才能安装 Citrix Cloud Connector 软件。Citrix 建议至少使用两台服务器以Cloud Connector 高可用性。这些服务器必须满足以下要求:

  • 符合 Cloud Connector 技术详情中描述的系统要求。
  • 未安装任何其他 Citrix 组件,不是 AD 域控制器,也不是对资源位置基础架构至关重要的计算机。
  • 已加入您的资源所在的域。如果用户访问多个域中的资源,则需要在每个域中至少安装两个 Cloud Connector。
  • 已连接到可以联系订阅者通过 Citrix Workspace 访问的资源的网络。
  • 已连接到 Internet。有关详细信息,请参阅系统和连接要求

有关安装 Cloud Connector 的详细信息,请参阅 Cloud Connector 安装

Active Directory

在配置 SAML 身份验证之前,请执行以下任务:

  • 验证您的 Workspace 订阅者在您的 AD 中是否有用户帐户。配置 SAML 身份验证后,没有 AD 帐户的订阅者无法成功登录其 Workspace。
  • 通过在本地 AD 中部署 Cloud Connector,将 AD 连接到 Citrix Cloud 帐户。
  • 将您的 AD 用户与 SAML 提供商同步。Citrix Cloud 要求您的 Workspace 订阅者具有 AD 用户属性,以便他们能够成功登录。

AD 用户属性

以下属性是所有 Active Directory 用户对象的必填属性,并且必须填充:

  • 常见的名字
  • SAM 帐户名
  • User Principal Name (UPN)(用户主体名称(UPN))
  • 对象 GUID
  • SID

订阅者登录 Citrix Workspace 时,Citrix Cloud 使用您的 AD 中的对象 GUID 和 SID 属性来建立用户上下文。如果其中任何一个属性均未填充,则订阅者将无法登录。

在 Citrix Cloud 上使用 SAML 身份验证不需要以下属性,但 Citrix 建议填充这些属性以确保最佳的用户体验:

  • 电子邮件地址
  • 显示名称

Citrix Cloud 使用“显示名称”属性在 Citrix Workspace 中正确显示订阅者的姓名。如果未填充此属性,订阅者仍然可以登录,但他们的姓名可能无法按预期显示。

SAML 与Active Directory 集成

在启用 SAML 身份验证之前,您必须将本地 AD 与 SAML 提供商集成。此集成允许 SAML 提供商在 SAML 断言中将以下必需的 AD 用户属性传递给 Citrix Cloud:

  • objectSID (SID)
  • objectGUID (OID)
  • userPrincipalName (UPN)
  • 邮件(电子邮件)
  • 显示名称 (displayName)

您可以配置这些属性的子集,前提是 SAML 断言中包含 SID 或 UPN 属性。Citrix Cloud 会根据需要从您的 AD 中检索其他属性。

注意:

为确保最佳性能,Citrix 建议配置本节中提到的所有属性。

尽管精确的集成步骤因 SAML 提供商而异,但集成过程通常包括以下任务:

  1. 在 AD 域中安装同步代理,以便在域和 SAML 提供商之间建立连接。如果您使用 ADFS 作为 SAML 提供商,则无需执行此步骤。
  2. 创建自定义属性并将其映射到本节前面提到的必需 AD 用户属性。本文中的 创建和映射自定义 SAML 属性 中介绍了此任务的一般步骤,以供参考。
  3. 将您的 AD 用户与 SAML 提供商同步。

有关将 AD 与 SAML 提供商集成的更多信息,请查阅 SAML 提供商的产品文档。

使用 SAML 2.0 进行管理员身份验证

Citrix Cloud 支持使用 SAML 2.0 对 AD 中管理员组的成员进行身份验证。有关向 Citrix Cloud 添加管理员组的更多信息,请参阅 管理管理员组

使用现有 SAML 连接进行管理员身份验证

如果您已在 Citrix Cloud 中拥有 SAML 2.0 连接并希望使用它对管理员进行身份验证,则必须先在 身份和访问管理 中断开 SAML 2.0 连接,然后重新配置连接。如果您使用 SAML 连接对 Citrix Workspace 订阅者进行身份验证,则还必须在 Workspace 配置中禁用 SAML 身份验证方法。重新配置 SAML 连接后,您可以将管理员组添加到 Citrix Cloud。

如果您在未先断开连接并重新连接 SAML 2.0 的情况下尝试添加管理员组,则不会显示将管理员组添加到 Citrix Cloud 中描述的 Active Directory 身份选项。

设置新 SAML 连接的任务概述

要在 Citrix Cloud 中设置新的 SAML 2.0 连接,请执行以下任务:

  1. 身份和访问管理中,按照将 Active Directory 连接到 Citrix Cloud 中所述,将本地 AD 连接到 Citrix Cloud。
  2. 按照本文中的 SAML 与 Active Directory 集成中所述,将 SAML 提供商与本地 AD 集成。
  3. 配置管理员可用于登录 Citrix Cloud 的登录 URL
  4. 身份和访问管理中,在 Citrix Cloud 中 配置 SAML 身份验证 。此任务包括使用来自 Citrix Cloud 的 SAML 元数据配置 SAML 提供商,然后使用来自 SAML 提供商的元数据配置 Citrix Cloud 以创建 SAML 连接。

Citrix Cloud 管理员使用现有 SAML 连接的任务概述

如果您在 Citrix Cloud 中已有 SAML 2.0 连接,并且想要将其用于管理员身份验证,请执行以下任务:

  1. 如果适用,请禁用 SAML 2.0 Workspace 身份验证:在 Workspace 配置 > 身份验证中,选择其他身份验证方法,然后在出现提示时选择 确认
  2. 断开现有的 SAML 2.0 连接:在 身份和访问管理 > 身份验证中,找到 SAML 连接。从最右侧的省略号菜单中,选择 断开连接。选择 是,断开连接 以确认操作。
  3. 重新连接 SAML 2.0 并配置连接:在 SAML 2.0的省略号菜单中,选择 连接
  4. 出现提示时,输入管理员用于 登录的登录 URL 的唯一标识符。
  5. 按照本文中的 配置 SAML 提供程序元数据中所述配置 SAML 连接。

配置 SAML 连接后,您可以将 AD 管理员组添加到 Citrix Cloud,如 管理管理员组中所述。您还可以 为 Workspace 订阅者重新启用 SAML ,如本文所述。

创建和映射自定义 SAML 属性

如果您已经在 SAML 提供商中配置了 SID、UPN、OID、电子邮件和 displayName 属性的自定义属性,则无需执行此任务。继续执行 创建 SAML 连接器应用程序 并使用步骤 5 中的现有自定义 SAML 属性。

注意:

本节中的步骤描述了您在 SAML 提供商的管理控制台中执行的操作。用于执行这些操作的特定命令可能与本部分中描述的命令有所不同,具体取决于您选择的 SAML 提供商。本节中的 SAML 提供程序命令仅作为示例提供。有关适用于 SAML 提供商的相应命令的更多信息,请参阅 SAML 提供商的文档。

  1. 登录 SAML 提供商的管理控制台,然后选择用于创建自定义用户属性的选项。例如,根据您的 SAML 提供商的控制台,您可以选择用户 > 自定义用户字段 > 新建用户字段
  2. 为以下 AD 属性添加属性。使用显示的默认值命名属性。

    AD 属性 必需或可选 默认值
    userPrincipalName 如果未为 SID 添加属性,则为必填项(推荐)。 cip_upn
    objectSID 如果不为 UPN 添加属性,则为必填项。 cip_sid
    objectGUID 对身份验证而言是可选项 cip_oid
    mail 对身份验证而言是可选项 cip_email
    displayName Workspace 用户界面所必需 displayName
    givenName Workspace 用户界面所必需 firstName
    sn Workspace 用户界面所必需 lastName
    AD 林 对身份验证而言是可选项 cip_forest
    AD 域 对身份验证而言是可选项 cip_domain
  3. 选择您与 Citrix Cloud 连接的 AD。例如,根据您的 SAML 提供商的控制台,您可以选择用户 > 目录
  4. 选择用于添加目录属性的选项。例如,根据您的 SAML 提供商的控制台,您可以选择 目录属性
  5. 选择用于添加属性的选项,并将以下 AD 属性映射到您在步骤 2 中创建的自定义用户属性:
    • 如果您在步骤 2 中添加了 SID 的属性(例如 cip_sid),请选择 objectSid 并映射到您创建的属性。
    • 如果您在步骤 2 中添加了 UPN 的属性(例如 cip_upn),请选择 userPrincipalName 并映射到您创建的属性。
    • 如果您在步骤 2 中为 ObjectGUID 添加了属性(例如 cip_oid),请选择 ObjectGUID 并映射到您创建的属性。
    • 如果您在步骤 2 中添加了“邮件”的属性(例如 cip_email),请选择“mail”并映射到您创建的属性。
    • 如果您在步骤 2 中为“显示名称”添加了属性(例如,displayName),请选择 displayName 并映射到您创建的属性。

配置管理员登录 URL

  1. 通过 https://citrix.cloud.com登录 Citrix Cloud。
  2. 在 Citrix Cloud 菜单中,选择 Identity and Access Management(身份和访问管理)。
  3. 找到 SAML 2.0 ,然后从省略号菜单中选择连接
  4. 出现提示时,为贵公司输入一个简短的 URL 友好型标识符,然后选择 保存并继续。此时 将显示配置 SAML 页面。
  5. 继续下一部分以配置与 Citrix Cloud 的 SAML 连接。

配置 SAML 提供程序元数据

在此任务中,您将使用来自 Citrix Cloud 的 SAML 元数据创建连接器应用程序。配置 SAML 应用程序后,您可以使用连接器应用程序中的 SAML 元数据来配置与 Citrix Cloud 的 SAML 连接。

注意:

本节中的一些步骤描述了您在 SAML 提供商的管理控制台中执行的操作。用于执行这些操作的特定命令可能与本部分中描述的命令有所不同,具体取决于您选择的 SAML 提供商。本节中的 SAML 提供程序命令仅作为示例提供。有关适用于 SAML 提供商的相应命令的更多信息,请参阅 SAML 提供商的文档。

创建 SAML 连接器应用程序

  1. 从 SAML 提供商的管理控制台中,为身份提供商添加具有属性和签名响应的应用程序。例如,根据提供商的控制台,您可以选择应用程序 > 应用程序 > 添加应用程序,然后选择 SAML 测试连接器(带符号响应的 IdP w/attr)
  2. 如果适用,请输入显示名称并保存应用程序。
  3. 在 Citrix Cloud 的 配置 SAML 屏幕中,在 SAML 元数据中,选择 下载。元数据 XML 文件将显示在另一个浏览器选项卡中。

    注意:

    如果需要,也可以从下载此文件 https://saml.cloud.com/saml/metadata.xml。在导入和监视 SAML 提供商元数据时,此端点可能对某些身份提供商更友好。

  4. 输入连接器应用程序的以下详细信息:
    • 在“受 ”字段中,输入 https://saml.cloud.com
    • 在“收 件人”字段中,输入 https://saml.cloud.com/saml/acs
    • 在 ACS URL 验证器的字段中,输入 https://saml.cloud.com/saml/acs
    • 在 ACS URL 的字段中,输入 https://saml.cloud.com/saml/acs
  5. 在应用程序中添加自定义 SAML 属性作为参数值:

    创建此字段 分配此自定义属性
    cip_sid 您为 SID 创建的自定义属性。示例:cip_sid
    cip_upn 您为 UPN 创建的自定义属性。示例:cip_upn
    cip_oid 您为 ObjectGUID 创建的自定义属性。示例:cip_oid
    cip_email 您为邮件创建的自定义属性。示例:cip_email
    displayName 您为“显示名称”创建的自定义属性。示例:displayName
  6. 将您的 Workspace 订阅者添加为用户,以允许他们访问应用程序。

将 SAML 提供商元数据添加到 Citrix Cloud

  1. 从 SAML 提供商处获取 SAML 元数据。下图是此文件外观的示例:

    SAML 元数据文件

  2. 在 Citrix Cloud 的 配置 SAML 屏幕中,从 SAML 提供商的元数据文件中输入以下值:
    • 身份提供者实体 ID 中,输入元数据中 EntityDescriptor 元素中的 entityID 值。

      来自 SAML 元数据文件的实体 ID

    • 签名身份验证请求中,选择 以允许 Citrix Cloud 对身份验证请求进行签名,证明这些请求来自 Citrix Cloud 而不是恶意行为者。如果您希望将 Citrix ACS URL 添加到 SAML 提供商用于安全发布 SAML 响应的允许列表中,请选择“”。
    • SSO 服务 URL 中,输入要使用的绑定机制的 URL。您可以使用 HTTP-POST 或 HTTP 重定向绑定。在元数据文件中,找到绑定值为 HTTP-POSTHTTP 重定向SingleSignOnService 元素。

      来自 SAML 元数据文件的 SSO 服务 URL

    • 绑定机制中,选择与从元数据文件中选择的 SSO 服务 URL 的绑定匹配的机制。默认情况下,“HTTP Post”处于选中状态。
    • SAML 响应中,选择您的 SAML 提供商用于 SAML 响应和 SAML 断言的签名方法。默认情况下,选择“签名响应或断言”。Citrix Cloud 会拒绝任何未按此字段中指定的方式签名的响应。
  3. 在 SAML 提供商的管理控制台中,执行以下操作:
    • 选择 SHA-256 作为 SAML 签名算法。
    • 将 X.509 证书下载为 Base64 编码的 PEM、CRT 或 CER 文件。
  4. 在 Citrix Cloud 的“配置 SAML”页面上,在 X.509 证书中,选择“上载文件”,然后选择您在上一步中下载的证书文件。
  5. 选择继续以完成上载。
  6. 身份验证上下文中,选择要使用的上下文以及希望 Citrix Cloud 强制执行此上下文的严格程度。选择最小可在所选上下文中请求身份验证,而不在该上下文中强制执行身份验证。选择“精确”可在选定的上下文中请求身份验证,并仅在该上下文中强制执行身份验证。如果您的 SAML 提供程序不支持身份验证上下文,或者您选择不使用它们,请选择未指定最小值。默认情况下,选择“未指定”和“精确”。
  7. 对于注销 URL (可选),请决定是否希望退出 Citrix Workspace 或 Citrix Cloud 的用户同时退出他们之前通过 SAML 提供商登录的所有网络应用程序。
    • 如果您希望用户在退出 Citrix Workspace 或 Citrix Cloud 后保持其网络应用程序的登录状态,请将注销 URL 字段留空。
    • 如果您希望用户在退出 Citrix Workspace 或 Citrix Cloud 后退出所有 Web 应用程序,请输入您的 SAML 提供商提供的 SingleLogout (SLO) 端点。如果您使用 Microsoft ADFS 或 Azure Active Directory Active Directory 作为 SAML 提供者,则 SLO 端点与单点登录 (SSO) 端点相同。

      Azure AD 单点登录和单点注销端点 URL 示例

  8. 验证 Citrix Cloud 中的以下默认属性值是否与 SAML 提供商中配置的相应属性值相匹配。为了让 Citrix Cloud 在 SAML 断言中找到这些属性,此处输入的值必须与您的 SAML 提供商中的值相匹配。如果您没有在 SAML 提供商中配置特定属性,则可以在 Citrix Cloud 中使用默认值或将该字段留空,除非另有说明。

    • 用户显示名称的属性名称:默认值为 displayName
    • 用户给定名称的属性名称:默认值为 firstName
    • 用户姓氏的属性名称:默认值为 lastName
    • 安全标识符 (SID) 的属性名称:如果您没有为 UPN 创建属性,则必须输入 SAML 提供商提供的此属性名称。默认值为 cip_sid
    • 用户主体名称 (UPN) 的属性名称:如果您没有为 SID 创建属性,则必须输入 SAML 提供商提供的此属性名称。默认值为 cip_upn
    • 电子邮件的属性名称:默认值为 cip_email
    • AD 对象标识符 (OID) 的属性名称:默认值为 cip_oid
    • AD 林的属性名称:默认值为 cip_forest
    • AD 域的属性名称:默认值为 cip_domain
  9. 选择 测试和完成 以验证是否已成功配置连接。

从 AD 向 Citrix Cloud 添加管理员

有关在 Citrix Cloud 中添加和管理 AD 组的说明,请参阅 管理管理员组

为 Workspace 启用 SAML 身份验证

  1. 在 Citrix Cloud 菜单中,选择 Workspace 配置
  2. 选择“身份验证”选项卡
  3. 选择 SAML 2.0

故障排除

属性错误

在以下任何一种情况下,都可能出现属性错误:

  • 您的 SAML 配置中的必填属性编码不正确。
  • SAML 断言中缺少 cip_sidcip_upn 属性。
  • SAML 断言中缺少 cip_sidcip_oid 属性,由于连接问题,Citrix Cloud 无法从 Active Directory 中检索它们。

发生属性错误时,Citrix Cloud 会显示一条包含错误属性的错误消息。

引用了 cip_oid 的属性错误消息

要解决此类错误,请执行以下操作:

  1. 确保您的 SAML 提供商使用正确的编码发送所需的属性,如下表所示。至少必须包含 SID 或 UPN 属性。

    属性 编码 必需
    cip_email 必须为字符串格式 (user@domain)  
    cip_oid 必须为 Base64 或字符串格式  
    cip_sid 必须为 Base64 或字符串格式 是,如果不使用 cip_upn
    cip_upn 必须为字符串格式 (user@domain) 是,如果不使用 cip_sid
  2. 验证 Cloud Connector 是否在线且运行正常,以便 Citrix Cloud 可以检索所需的任何缺失属性。有关更多信息,请参阅 Cloud Connector 高级运行状况检查

意外错误

在以下情况下,Citrix Cloud 可能会遇到意外错误:

  • 用户使用 IDP 发起的流程发起 SAML 请求。例如,请求是通过身份提供商的应用程序门户选择磁贴,而不是直接导航到 Workspace URL (customer.cloud.com) 来发出的。
  • SAML 证书无效或已过期。
  • 身份验证上下文无效。
  • SAML 断言和响应签名不匹配。

发生此错误时,Citrix Cloud 将显示一条一般错误消息。

意外的错误消息

如果通过身份提供商的应用程序门户导航到 Citrix Cloud 导致此错误,则可以使用以下解决方法:

  1. 在身份提供商的应用程序门户中创建引用您的 Workspace URL 的书签应用程序(例如,https://customer.cloud.com)。
  2. 将用户分配给 SAML 应用程序和书签应用程序。
  3. 更改 SAML 应用程序和书签应用程序的可见性设置,以便在应用程序门户中显示书签应用程序并隐藏 SAML 应用程序。
  4. 禁用 Workspace 配置中的联合身份提供商会话设置以删除其他密码提示。有关说明,请参阅 Citrix Workspace 产品文档中的联邦身份提供商会话

调试建议

Citrix 建议在所有 SAML 调试中使用 SAML-Tracer 浏览器扩展程序。此扩展程序适用于大多数常见的网络浏览器。该扩展程序将 Base64 编码的请求和响应解码为 SAML XML,这样它们便于人类阅读。

突出显示了 SAML-tracer 的 Firefox 浏览器扩展程序列表

作为管理员,此工具允许您检查发送给用户的 SAML 属性的值,并查找 SAML 请求和响应中是否存在签名。如果您在 SAML 相关问题上需要帮助,Citrix 支持部门会请求 SAML-Tracer 文件以了解问题并解决您的支持案例。

SAML-tracer file output

更多信息