Citrix Cloud

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

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

关于本文

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

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

先决条件

将 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 身份验证之前,请执行以下任务:

  • 验证您的工作区订阅者在 AD 中拥有用户帐户。配置 SAML 身份验证后,没有 AD 帐户的订阅者无法成功登录其工作区。
  • 通过在本地 AD 中部署 Cloud Connector,将您的 AD 连接到您的 Citrix Cloud 帐户。
  • 将您的 AD 用户同步到 SAML 提供程序。Citrix Cloud 需要您的工作区订阅者的 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 (电子邮件)
  • 显示名称 (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 订阅者进行身份验证,则还必须在工作区配置中禁用 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 工作区身份验证:在工作区配置 > 身份验证中,选择不同的身份验证方法,然后在出现提示时选择确认
  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 属性 必需或可选 默认值
    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. https://citrix.cloud.com 登录 Citrix Cloud。
  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 您为显示名称创建的自定义属性。示例: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 绑定。在元数据文件中,找到绑定值为 HTTP-POSTHTTP-RedirectSingleSignOnService 元素。

      SAML 元数据文件中的 SSO 服务 URL

    • 绑定机制中,选择与您从元数据文件中选择的 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 提供程序中的 SingleLogout (SLO) 端点。如果您使用 Microsoft ADFS 或 Azure 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 组的说明,请参阅管理管理员组

为工作区启用 SAML 身份验证

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

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

重要提示:

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

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

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

    主 SAML 文章克隆操作

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

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

    主 SAML 文章输入昵称

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

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

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

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

    主 SAML 文章设置范围实体 ID

服务提供程序发起的 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 管理员访问的 Citrix Cloud GO URL 启动。

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

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

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

IdP 链示例

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

如果我正在使用 IdP 链,在调试 SAML 问题时可以从 Citrix 获得帮助和支持吗

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

重要提示:

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

如果可能,我应该避免 IdP 链吗

Citrix 建议将您的 SAML IdP 直接连接到 Citrix Cloud,因为这大大降低了配置和调试的复杂性,并最大限度地减少了最终用户登录延迟,而这些延迟可能在 Citrix Cloud 等待复杂 IdP 链的响应时引入。当多个 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 提供程序同时支持这两种机制,则无需同时启用它们。建议您为 SSO 和 SLO 选择单一的 SAML 绑定类型。

SAML 绑定支持

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

重要提示:

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

当 SAML 连接双方都启用签名强制时,HTTP Post 更易于调试,因为 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 注销。

主 SAML 文章已配置注销

重要提示:

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

OR

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

主 SAML 文章无注销 URL

重要提示:

仅当连接到 Citrix Cloud 的 SAML 应用程序由其他非 Citrix 服务提供程序 (SP) 共享时,才建议使用此未配置注销 URL 的 SAML 连接配置。

Workspace 会话不活动超时行为

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

主 SAML 文章始终提示最终用户输入凭据

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

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

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

主 SAML 文章 ForceAuthn 为 True

故障排除

属性错误

属性错误可能在以下任何条件下出现:

  • 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 调试。此扩展适用于大多数常见的 Web 浏览器。该扩展将 Base64 编码的请求和响应解码为 SAML XML,使其可读。

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

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

SAML-tracer 文件输出

更多信息