Citrix Cloud™

使用 Entra ID 和 Entra ID 身份进行商店身份验证的 SAML

本文介绍了如何配置 SAML 以使用 Entra ID 身份而非 AD 身份进行商店身份验证。如果您的 Entra ID 用户在以默认 SAML 行为登录其商店后无法枚举 Windows 365 Cloud PC 或 Entra ID 域加入的 VDA,请使用此配置。完成配置后,您的用户可以使用 SAML 身份验证登录其商店,以通过 Citrix DaaS™ 访问 HDX 应用程序和桌面,并通过 Azure 访问 Windows 365 Cloud PC。

Citrix Cloud™ 和 SAML 对 Citrix® StoreFront Cloud 进行身份验证的默认行为是针对 AD 用户身份进行断言。对于本文中描述的配置,需要使用 Entra ID Connect 将您的 AD 身份导入到您的 Entra ID。AD 身份包含用户的 SID,StoreFront Cloud 可以将其发送到 Citrix DaaS,并允许枚举和启动 HDX 资源。由于使用了用户身份的 Entra ID 版本,用户还可以从 StoreFront Cloud 中枚举和启动 Azure 资源,例如 Windows 365 Cloud PC。

重要提示:

枚举是指用户登录其商店后看到的资源列表。给定用户被允许访问的资源取决于其用户身份以及在 Citrix DaaS 中与该身份关联的资源。有一篇相关文章提供了关于利用 Entra ID 和 AD 身份作为 SAML 提供程序进行商店身份验证的说明。您可以在 使用 Entra ID 和 AD 身份进行商店身份验证的 SAML 中找到详细说明。

功能范围

本文适用于使用以下 Citrix Cloud 和 Azure 功能组合的用户:

  • 用于商店身份验证的 SAML
  • Citrix DaaS 和 HDX™ 资源枚举,针对使用 AD 域加入的 VDA 发布的资源
  • Entra ID 域加入的 VDA 资源枚举
  • Azure 混合域加入的 VDA 资源枚举
  • W365 Cloud PC 枚举和启动

重要提示:

请勿将此 ME-ID SAML 流程用于 Citrix Cloud 的 SAML 登录,因为这要求 Citrix Cloud 管理员用户是 AD 组的成员,因此应使用 AD 用户身份。您可以在 使用 Entra ID 和 AD 身份进行商店身份验证的 SAML 中找到详细说明。

AD 身份还是 Entra ID 身份:何为最佳?

为了确定您的商店用户应该使用 SAML AD 身份还是 SAML Entra ID 身份进行身份验证:

  1. 决定您打算在用户的商店中向他们提供哪些资源组合。
  2. 使用下表确定哪种用户身份类型适用于每种资源类型。

    资源类型 (VDA) 登录其商店时的用户身份 需要使用 Entra ID 的 SAML 身份吗? FAS 是否为 VDA 提供单点登录 (SSO)?
    已加入 AD AD,从 AD 导入的 Entra ID (包含 SID) 否。使用默认 SAML。
    混合加入 AD,从 AD 导入的 Entra ID (包含 SID) 否。使用默认 SAML。 是,对于作为身份提供程序的 AD。如果为 VDA 选择了 Entra ID,则不需要 FAS。
    已加入 Entra Entra ID 本机用户,从 AD 导入的 Entra ID(包含 SID) 是,通过 Entra ID 使用 SAML。
    Windows 365 云电脑 Entra ID 本机用户,从 AD 导入的 Entra ID(包含 SID) 是,通过 Entra ID 使用 SAML。
    已加入 AD,已加入 Entra ID,Windows 365 云电脑 从 AD 导入的 Entra ID(包含 SID) 是,通过 Entra ID 使用 SAML。 是,适用于已加入 AD。否,适用于已加入 Entra ID 和 Windows 365 云电脑。

更多信息

要求

  • 您的 Entra ID 租户必须连接到您的 Citrix Cloud 租户。在 Citrix Cloud 控制台中,您可以通过选择身份和访问管理 > 身份验证找到现有的 Entra ID 连接。

或者,

您可以通过选择身份和访问管理 > 身份验证 –> 添加身份提供程序 –> 选择 Entra ID来创建新的 Entra ID 目录连接。

突出显示连接状态的 Entra ID 提供程序

重要提示:

您必须连接您打算创建将使用 ME-ID 身份的新 SAML 应用程序的同一 Entra ID 租户。

  • 应用商店身份验证方法必须设置为 SAML 2.0。请勿使用 Entra ID 作为身份验证方法。要更改应用商店身份验证方法,请在 Citrix Cloud 控制台中转到StoreFront Cloud > 身份验证
  • UPN 后缀 @yourdomain.com 必须作为自定义域名导入并在 Entra ID 中进行验证。在 Azure 门户中,这位于Entra ID > 自定义域名下。
  • Entra ID 用户身份必须使用 Microsoft Entra ID Connect 从 AD 导入。这可确保用户身份正确导入并具有正确的 UPN 后缀。不支持具有 @yourtenant.onmicrosoft.com UPN 后缀的 Entra ID 用户。
  • 必须部署 Citrix FAS 并将其连接到 Citrix Cloud 租户和资源位置。FAS 为从 StoreFront Cloud 启动的 HDX 桌面和应用程序提供单点登录。您无需配置 AD 影子帐户,因为 AD 和 Entra ID 用户身份的 UPN user@customerdomain 必须匹配。FAS 会生成具有正确 UPN 的必要用户证书,并在启动 HDX 资源时执行智能卡登录。

配置自定义 Entra ID 企业 SAML 应用程序

默认情况下,SAML 登录到应用商店的行为是针对 AD 用户身份进行断言。cip_directory SAML 属性是一个硬编码的字符串值,对所有最终用户都相同,并充当一个开关。Citrix Cloud 和 StoreFront Cloud 在登录期间检测到此属性,并触发 SAML 针对 Entra ID 版本的用户身份进行断言。将 azuread 参数与此属性一起使用会覆盖默认的 SAML 行为,这会导致应用商店用户使用其 Entra ID 身份而不是其 AD 身份进行身份验证。

尽管本节中的步骤适用于 Entra ID,但您可以使用不同的 SAML 2.0 提供程序(例如 ADFS、Duo、Okta、OneLogin、PingOneSSO 等)创建类似的 SAML 应用程序,前提是您执行相同的任务。您的 SAML 提供程序必须允许您在 SAML 应用程序中配置硬编码的 SAML 属性 (cip_directory = azuread)。只需创建与本节中描述的相同的 SAML 属性映射即可。

  1. 登录到 Azure 门户。
  2. 从门户菜单中,选择 Entra ID
  3. 在左侧窗格的 Manage(管理)下,选择 Enterprise Applications(企业应用程序)。
  4. 在工作窗格的命令栏中,选择 New Application(新建应用程序)。
  5. 从命令栏中,选择 Create your own application(创建自己的应用程序)。请勿使用 Citrix Cloud SAML SSO 企业应用程序模板。该模板不允许您修改声明和 SAML 属性列表。
  6. 输入应用程序的名称,然后选择 Integrate any other application you don’t find in the gallery (Non-gallery)(集成在库中找不到的任何其他应用程序(非库))。单击 Create(创建)。此时将显示应用程序概述页面。
  7. 在左侧窗格中,选择 Single sign-on(单一登录)。在工作窗格中,选择 SAML
  8. Basic SAML Configuration(基本 SAML 配置)部分中,选择 Edit(编辑)并配置以下设置:
    1. Identifier (Entity ID)(标识符(实体 ID))部分中,选择 Add identifier(添加标识符),然后输入与您的 Citrix Cloud 租户所在区域关联的值:
      • 对于欧盟、美国和亚太南部区域,请输入 https://saml.cloud.com
      • 对于日本区域,请输入 https://saml.citrixcloud.jp
      • 对于 Citrix Cloud Government 区域,请输入 https://saml.cloud.us
    2. Reply URL (Assertion Consumer Service URL)(回复 URL(断言消费者服务 URL))部分中,选择 Add reply URL(添加回复 URL),然后输入与您的 Citrix Cloud 租户所在区域关联的值:
      • 对于欧盟、美国和亚太南部地区,输入 https://saml.cloud.com/saml/acs
      • 对于日本地区,输入 https://saml.citrixcloud.jp/saml/acs
      • 对于 Citrix Cloud Government 地区,输入 https://saml.cloud.us/saml/acs
    3. 注销 URL(可选)部分中,输入与您的 Citrix Cloud 租户所在区域关联的值:
      • 对于欧盟、美国和亚太南部地区,输入 https://saml.cloud.com/saml/logout/callback
      • 对于日本地区,输入 https://saml.citrixcloud.jp/saml/logout/callback
      • 对于 Citrix Cloud Government 地区,输入 https://saml.cloud.us/saml/logout/callback
    4. 在命令栏中,选择保存
  9. 属性和声明部分中,选择编辑以配置以下声明。这些声明将显示在 SAML 响应中的 SAML 断言中。
    1. 对于唯一用户标识符(名称 ID)声明,将默认值更新为 user.localuserprincipalname
    2. 在命令栏中,选择添加新声明
    3. 名称中,输入 cip_directory
    4. 中,保持选中属性
    5. 源属性中,输入 azuread。输入后,此值将显示在引号中。

      管理声明屏幕,其中包含源属性条目

    6. 从命令栏中,选择保存
    7. 名称源属性字段中,使用以下值创建附加声明:

      名称 源属性
      cip_fed_upn user.localuserprincipalname
      displayName user.displayname
      givenName user.givenname
      familyName user.surname

      显示 UPN 值的管理声明屏幕(/en-us/citrix-cloud/media/manage-claims-screen-with-upn-value.png)

      重要提示:

      您可以通过为每个声明重复步骤 b-f,或者修改附加声明部分中已包含上表中列出的源属性的默认声明来创建这些附加声明。默认声明包含命名空间 http://schemas.xmlsoap.org/ws/2005/05/identity/claims

      如果您修改默认声明,则必须从每个声明中删除命名空间。如果您创建新声明,则必须删除包含命名空间的声明。如果结果 SAML 断言中包含带有此命名空间的声明,则该断言将无效,并且将包含不正确的 SAML 属性名称。

    8. 附加声明部分中,对于任何带有 http://schemas.xmlsoap.org/ws/2005/05/identity/claims 命名空间的剩余声明,单击省略号 (…) 按钮,然后单击删除

      突出显示的删除菜单

    完成后,属性和声明部分将显示如下所示:

    Entra ID 已完成的属性和声明

  10. 使用此第三方在线工具获取 Citrix Cloud SAML 签名证书的副本。
  11. 在 URL 字段中输入 https://saml.cloud.com/saml/metadata,然后单击加载

    元数据证书提取

  12. 滚动到页面底部,然后单击下载

    下载

    已下载的文件

  13. 配置 Entra ID SAML 应用程序签名设置。
  14. 在 Entra ID SAML 应用程序中上传在步骤 10 中获得的生产 SAML 签名证书。
    • 启用需要验证证书

    验证证书

    SAML 证书

故障排除

  1. 使用 SAML 网络工具(例如 SAML-tracer 浏览器扩展)验证您的 SAML 断言是否包含正确的用户属性。
  2. 找到以黄色显示的 SAML 响应,并与此示例进行比较:

    来自网络工具的 SAML 响应示例

  3. 单击底部窗格中的 SAML 选项卡,以解码 SAML 响应并将其视为 XML。
  4. 滚动到响应底部,并验证 SAML 断言是否包含正确的 SAML 属性和用户值。

    突出显示 SAML 断言值的 XML 文件

如果您的最终用户仍然无法登录其应用商店,请联系 Citrix 支持并提供以下信息:

  • SAML-tracer 捕获
  • 登录应用商店失败的日期和时间
  • 受影响的用户名
  • 您用于登录应用商店的客户端计算机的调用方 IP 地址。您可以使用 https://whatismyip.com 等工具获取此 IP 地址。

配置 Citrix Cloud SAML 连接

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

身份和访问管理 > 身份验证 > 添加身份提供商 > SAML 中,使用 SAML 连接的默认推荐值。

从您的 Entra ID 门户获取 Entra ID SAML 应用程序的 SAML 端点,并将其输入到 Citrix Cloud 中。

AAD SAML 端点

在 Citrix Cloud SAML 连接中使用的 Entra ID SAML 端点示例

重要提示:

EntraID SSO 和注销 SAML 端点是相同的 URL。

在 Citrix Cloud 的此字段中 输入此值
实体 ID https://sts.windows.net/<yourEntraIDTenantID>
签署身份验证请求
SSO 服务 URL https://login.microsoftonline.com/<yourEntraIDTenantID>/saml2
SSO 绑定机制 HTTP 提交
SAML 响应 签署响应或断言
身份验证上下文 未指定,精确
注销 URL https://login.microsoftonline.com/<yourEntraIDTenantID>/saml2
签署注销请求
SLO 绑定机制 HTTP 提交
使用 Entra ID 和 Entra ID 身份进行商店身份验证的 SAML