Citrix Cloud

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

Citrix Cloud 支持使用 SAML (Security Assertion Markup Language) 作为身份提供商,以对登录其 Workspace 的 Citrix Cloud 管理员和订阅者进行身份验证。您可以选择使用任何 SAML 2.0 提供商以及本地 Active Directory (AD)。

关于本文

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

支持的 SAML 提供商

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

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 应用程序

先决条件

将 SAML 身份验证与 Citrix Cloud 结合使用有以下要求:

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

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 帐户名
  • 用户主体名称 (UPN)
  • 对象 GUID
  • SID

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

以下属性不是将 SAML 身份验证与 Citrix Cloud 结合使用所必需的,但 Citrix 建议填充它们以确保最佳用户体验:

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

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

SAML 与 Active Directory 集成

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

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

您可以配置这些属性的子集,前提是 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 连接。

使用现有 SAML 连接进行 Citrix Cloud 管理员身份验证的任务概述

如果您在 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 UI 必需 displayName
    givenName Workspace UI 必需 firstName
    sn Workspace UI 必需 lastName
    AD Forest 身份验证可选 cip_forest
    AD Domain 身份验证可选 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 中添加了 Mail 属性(例如,cip_email),请选择 mail 并映射到您创建的属性。
    • 如果您在步骤 2 中添加了 Display Name 属性(例如,displayName),请选择 displayName 并映射到您创建的属性。

配置管理员登录 URL

  1. 登录 Citrix Cloud:https://citrix.cloud.com
  2. 从 Citrix Cloud 菜单中,选择身份和访问管理
  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 Test Connector (IdP w/ attr w/ sign response)
  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 您为 Mail 创建的自定义属性。示例:cip_email
    displayName 您为 Display Name 创建的自定义属性。示例:displayName
  6. 将 Workspace 订阅者添加为用户,以允许他们访问应用程序。

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

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

    SAML metadata file

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

      Entity ID from SAML metadata file

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

      SSO Service URL from SAML metadata file

    • 绑定机制中,选择与您从元数据文件中选择的 SSO 服务 URL 的绑定匹配的机制。默认情况下,选择 HTTP Post
    • SAML 响应中,选择 SAML 提供商用于 SAML 响应和 SAML 断言的签名方法。默认情况下,选择签署响应或断言。Citrix Cloud 将拒绝任何未按此字段中指定签名而签名的响应。
  3. 在 SAML 提供商的管理控制台中,执行以下操作:
    • 为 SAML 签名算法选择 SHA-256
    • 将 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 提供商的单一注销 (SLO) 端点。如果您使用 Microsoft ADFS 或 Azure Active Directory 作为 SAML 提供商,则 SLO 端点与单一登录 (SSO) 端点相同。

      Example of Azure AD Single Sign-on and Single Logout endpoint URLs

  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. 选择测试并完成以验证您是否成功配置了连接。

将管理员添加到 Citrix Cloud(来自 AD)

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

为 Workspace 启用 SAML 身份验证

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

在身份和访问管理中克隆现有 SAML 连接

重要提示:

克隆 SAML 连接不会克隆现有的范围实体 ID。如果您在克隆过程中添加范围实体 ID 或生成新的范围实体 ID,则可能需要更新 SAML 应用程序配置。

要克隆现有 SAML 连接,请按照以下步骤操作:

  1. 选择现有 SAML 连接右侧的 3 个点,然后从操作列表中选择克隆

    main-saml-article-clone-action

  2. 为新的 SAML 连接输入一个新的唯一 GO URL。如果需要,以后可以更改。

  3. 为新的 SAML 连接输入一个新的唯一昵称。

    main-saml-article-enter-nickname

  4. 更新连接中的任何设置,例如启用范围实体 ID、需要启用签名、添加缺失的注销 URL 或更新最近过期的 SAML 提供商证书。

  5. 单击“测试并完成”以保存新的 SAML 连接。

  6. 在 Workspace 配置 → 身份验证中将 Workspace 切换为使用新的 SAML 连接。

  7. 使用新的范围实体 ID 更新 SAML 应用程序配置(并非总是必需)。

    main-saml-article-set-scopedentityid

服务提供商发起的 SSO 与身份提供商发起的 SSO

SP 发起的 SSO - 最终用户直接从 Web 应用程序(SP),例如 Workspace 和/或 Citrix Cloud 登录。 然后,应用程序将他们重定向到 SAML IdP 进行身份验证。 如果身份验证成功,最终用户将被重定向回 Web 应用程序(SP)并登录。

IdP 发起的 SSO - 最终用户首先登录其 SAML IdP,然后从 IdP 门户中选择他们要启动的应用程序(SP)。

身份提供商发起的 SSO 可以与 Workspace 或 Citrix Cloud 一起使用吗

不可以。Workspace 和 Citrix Cloud 都只支持 SAML 服务提供商发起的 SSO 登录。所有登录流程都必须通过 Workspace URL(用于最终用户访问)或 Citrix Cloud GO URL(用于 Citrix Cloud 管理员访问)启动。

将 SAML 提供商直接连接到 Citrix Cloud 与 IdP 链

SAML 登录 Workspace 或 Citrix Cloud 是否支持 IdP 链

如果 IdP 链中最接近的 SAML IdP 配置正确,并将 SAML 请求从 Citrix Cloud 转发到 IdP 链中,并且 IdP 链将正确的 SAML 响应返回给 Citrix Cloud,则支持 IdP 链。

IdP 链示例

  • Citrix Cloud → F5(直接连接到 Citrix Cloud 作为 SAML 提供商)→ 联合到 Entra ID
  • Citrix Cloud → Entra ID(直接连接到 Citrix Cloud 作为 SAML 提供商)→ 联合到 ADFS
  • Citrix Cloud → Entra ID(直接连接到 Citrix Cloud 作为 SAML 提供商)→ 联合到 PingFederate
  • Citrix Cloud → Entra ID(直接连接到 Citrix Cloud 作为 SAML 提供商)→ 联合到 Okta

如果我使用 IdP 链,Citrix 是否可以提供 SAML 问题调试协助和支持

Citrix 支持和 Citrix 工程团队只能调试 Citrix Cloud 与链中最接近的 SAML IdP 之间的 SAML 连接。

重要提示:

Citrix 不负责调试直接连接的 SAML 提供商上游复杂 IdP 链中的问题。

我应该尽可能避免 IdP 链吗

Citrix 建议将您的 SAML IdP 直接连接到 Citrix Cloud,因为这大大降低了配置和调试的复杂性,并最大限度地减少了最终用户登录延迟,这种延迟可能在 Citrix Cloud 等待复杂 IdP 链的响应时引入。当多个 IdP 链接在一起时,尤其是在 IdP 链中使用了不同的 SAML 绑定时,SSO 和 SLO 都可能出现许多问题。直接连接的 SAML 提供商将始终比依赖上游 IdP 的提供商更容易调试且性能更高。

我应该选择哪种 SAML 绑定机制

是使用 HTTP POST 还是 HTTP Redirect 进行 SSO 和 SLO 取决于您的 SAML IdP 支持的 SAML 绑定。如果您的 SAML 提供商支持多种绑定机制,则 Citrix 建议您选择 HTTP Post 而非 HTTP Redirect 作为 SAML 绑定。如果您的 SAML 提供商同时支持这两种机制,则无需同时启用这两种 SAML 绑定机制。建议您为 SSO 和 SLO 选择单一的 SAML 绑定类型。

SAML 绑定支持

SAML 绑定 Citrix Cloud 支持
HTTP POST 推荐
HTTP Redirect 支持
SAML Artifact 绑定 不支持
SOAP 不支持

重要提示:

HTTP Post 是 SSO 和 SLO 请求的推荐绑定机制,原因有二。

HTTP Post 在 SAML 连接双方启用签名强制时更容易调试,因为 SAML XML 包含易于识别的部分,显示签名和使用的证书。这比将此签名数据嵌入到需要 URL 解码的非常长的重定向 URI 中更容易让人看到和调试。

HTTP Redirect URI 可能会变得非常长,并超出关键阈值,从而导致 SAML 身份验证期间出现错误,并可能导致登录或注销失败。GET 绑定类型限制为最大 2,048 个字符,减去实际路径中的字符数。POST 方法不受 URL 大小限制,可用于提交名称和值对。

SAML 注销注意事项

对于身份提供商注销 URL (SLO),根据您希望连接到 Citrix Cloud 的 SAML 应用程序是否也由其他服务提供商 (SP) 共享,决定最适合您组织的 SAML 注销行为。

Citrix 建议在您的 SAML 提供商中创建一个新的专用 SAML 应用程序,该应用程序仅由 Workspace 和/或 Citrix Cloud 使用。如果您已遵循 Citrix 的 SAML 应用程序设置指南之一,并且您正在为 Workspace 和/或 Citrix Cloud 使用专用 SAML 应用程序,则配置注销 URL 始终是正确的做法。

选项 1 SLO 已配置(推荐):从 Workspace 和/或 Citrix Cloud 注销的用户也会从连接的 SAML IdP 注销。

main-saml-article-logout-configured

重要提示:

要使 SAML SLO 成功,您必须配置 SAML 连接的两端以支持它。Citrix Cloud 期望从 SAML 应用程序接收 SLO 响应,指示注销成功并且用户已从 SAML IdP 注销。确保您的 SAML 应用程序配置为使用此 SAML 注销端点 https://saml.cloud.com/saml/logout/callback 将 SLO 响应发送回 Citrix Cloud。

或者

选项 2 SLO 未配置:如果您希望用户在从 Workspace 和/或 Citrix Cloud 注销后保持登录您的 SAML 应用程序,请将 Citrix Cloud SAML 连接中的注销 URL 字段留空。当最终用户在 Workspace 或 Citrix Cloud UI 中执行显式注销时,这只会将用户从 Workspace 或 Citrix Cloud 注销。用户将不会从 SAML IdP 注销,并且不会从 Citrix Cloud 向 SAML 应用程序发送 SLO 请求。

main-saml-article-no-logout-url

重要提示:

这种未配置注销 URL 的 SAML 连接配置仅在连接到 Citrix Cloud 的 SAML 应用程序由其他非 Citrix 服务提供商 (SP) 共享时才推荐使用。

Workspace 会话不活动超时行为

当最终用户在 Workspace 中不执行任何操作时,会话不活动超时将触发从 Workspace 注销。Workspace 不活动超时在 Workspace 配置 → 自定义 → 首选项 → Workspace 会话中定义。

main-saml-article-always-prompt-end-users-for-creds

Workspace 不活动超时不会触发 SLO 请求以将最终用户从 SAML IdP 注销。SAML IdP 空闲会话超时可能与 Workspace 中设置的值不同。建议您尽可能将它们设置为相同的持续时间。

在 Workspace 配置 → 自定义 → 首选项中将始终提示最终用户输入其凭据设置为已启用,以确保即使 SAML 提供商会话仍然存在,最终用户也始终会收到重新身份验证的提示。

始终提示最终用户输入其凭据设置为已启用还会将 SAML 请求中的 ForceAuthn 设置为 True

main-saml-article-forceauth-true

故障排除

属性错误

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

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

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

Attribute error message with cip_oid cited

要解决此类错误:

  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 会显示一条通用错误消息。

Unexpected error message

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

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

调试建议

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

Firefox browser extension list with SAML-tracer highlighted

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

SAML-tracer file output

更多信息