Citrix Cloud

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

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

关于此wikiHow

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

支持的 SAML 提供商

支持官方 SAML 2.0 规范的 SAML 提供商支持与 Citrix Cloud 一起使用。

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

  • 微软 ADFS
  • 微软 Azure AD
  • 双人
  • Okta
  • 一站式登录
  • PingOne SSO
  • 平联邦

在测试这些提供程序时,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 域。 云连接器用于确保 Citrix Cloud 可以与您的资源位置通信。
  • AD 与您的 SAML 提供商集成。

云连接器

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

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

有关安装 Cloud Connector 的更多信息,请参阅 Cloud Connector 安装

Active Directory

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

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

AD 用户属性

所有 Active Directory 用户对象都需要且必须填充以下属性:

  • 通用名称
  • SAM 帐户名称
  • 用户主体名称 (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:

  • 对象 SID (SID)
  • 对象 GUID (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. 身份和访问管理中,将您的本地 AD 连接到 Citrix Cloud,如 将 Active Directory 连接到 Citrix Cloud中所述。
  2. 将您的 SAML 提供程序与您的本地 AD 集成,如本文中 SAML 与 Active Directory 的集成 中所述。
  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 工作区身份验证:在 工作区配置 > 身份验证中,选择不同的身份验证方法,然后在提示时选择 确认
  2. 断开现有的 SAML 2.0 连接:在 身份和访问管理 > 身份验证中,找到 SAML 连接。 从最右边的省略号菜单中,选择 断开。 选择 是,断开 以确认操作。
  3. 重新连接 SAML 2.0 并配置连接:从 SAML 2.0的省略号菜单中,选择 连接
  4. 出现提示时,请输入管理员用于登录的登录 URL 的唯一标识符
  5. 按照本文 配置 SAML 提供程序元数据 中所述配置 SAML 连接。

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

创建并映射自定义 SAML 属性

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

注意:

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

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

    AD 物业 必需或可选 默认值
    用户主体名称 如果不添加 SID 属性则必需(推荐)。 cip_upn
    objectSID 如果不添加 UPN 属性,则为必填项。 cip_sid
    objectGUID 身份验证可选 cip_oid
    邮件 身份验证可选 cip_email
    displayName 工作区 UI 所需 displayName
    给定的名称 工作区 UI 所需 firstName
    工作区 UI 所需 lastName
    广告森林 身份验证可选 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 并从省略号菜单中选择 Connect
  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)
  2. 如果适用,请输入显示名称并保存应用程序。
  3. 从 Citrix Cloud 中的 配置 SAML 屏幕中,在 SAML 元数据中选择 下载。 元数据 XML 文件出现在另一个浏览器选项卡中。 > 注: > > 如果需要,您也可以从 https://saml.cloud.com/saml/metadata.xml下载此文件。 在导入和监控 SAML 提供商元数据时,此端点可能对某些身份提供商更友好。
  4. 输入连接器应用程序的以下详细信息:
    • Audience 字段中,输入 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-Redirect 绑定。 在元数据文件中,找到 SingleSignOnService 元素,其 Binding 值为 HTTP-POSTHTTP-Redirect

      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 提供程序登录的所有 Web 应用程序。
    • 如果您希望用户在退出 Citrix Workspace 或 Citrix Cloud 后仍保持登录到其 Web 应用程序的状态,请将 注销 URL 字段留空。
    • 如果您希望用户在退出 Citrix Workspace 或 Citrix Cloud 后退出所有 Web 应用程序,请输入来自 SAML 提供程序的 SingleLogout (SLO) 端点。 如果您使用 Microsoft ADFS 或 Azure Active Directory 作为 SAML 提供程序,则 SLO 端点与单点登录 (SSO) 端点相同。

        ![Example of Azure AD Single Sign-on and Single Logout endpoint URLs](/en-us/citrix-cloud/media/saml-idp-aad-sso-slo-example.png)
      
  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 Forest 的属性名称:默认值为 cip_forest
    • AD 域的属性名称:默认值为 cip_domain
  9. 选择 测试并完成 以验证您是否成功配置了连接。

从 AD 将管理员添加到 Citrix Cloud

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

为工作区启用 SAML 身份验证

  1. 从 Citrix Cloud 菜单中,选择 工作区配置
  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 请求。 例如,通过身份提供者的应用程序门户选择一个图块来发出请求,而不是直接导航到工作区 URL(customer.cloud.com)。
  • SAML 证书无效或已过期。
  • 身份验证上下文无效。
  • SAML 断言和响应签名不匹配。

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

意外错误消息

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

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

调试建议

Citrix 建议使用 SAML-tracer 浏览器扩展进行所有 SAML 调试。 此扩展适用于大多数常见的网络浏览器。 该扩展将 Base64 编码的请求和响应解码为 SAML XML,使其变得易于人类阅读。

Firefox 浏览器扩展列表,其中突出显示了 SAML-tracer

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

SAML 跟踪器文件输出

更多信息