Citrix Virtual Apps and Desktops

微软 Entra 单点登录(预览版)

当您使用 Microsoft Entra ID 凭据访问 Microsoft Entra 混合加入的会话主机上的虚拟应用程序和桌面时,可以利用单点登录 (SSO)。

对于 DaaS,请参阅 微软 Entra 单点登录

重要提示:

适用于 Citrix Virtual Apps and Desktops 的 Microsoft Entra 单点登录目前处于预览阶段。此功能不提供支持,尚不建议在生产环境中使用。

支持的基础设施

以下是支持 Microsoft Entra 单点登录的基础设施组件概述:

计算机身份 思杰桌面即服务 CVAD 本地部署 思杰工作区 思杰应用商店 Citrix 网关服务 网思乐网关
已加入 微软 Entra
微软 Entra 混合加入

注意:

在 StoreFront 中,Microsoft Entra 单点登录仅支持现代 UI 体验,不支持经典 UI 体验。

支持的访问方法

以下是 Citrix 环境中可用的访问方法:

  • 本机访问:您使用本机 Citrix Workspace 应用程序客户端访问 Citrix Storefront 并建立会话连接。
  • 浏览器访问:您通过浏览器访问 Citrix Storefront,并使用适用于 HTML5 客户端的 Citrix Workspace 应用程序连接到虚拟应用程序或桌面会话。
  • 混合访问:您通过浏览器访问 Citrix Storefront,并使用本机 Workspace 应用程序客户端连接到虚拟应用程序或桌面会话。

以下是 Microsoft Entra 单点登录支持的访问方法概述:

访问方法 视窗 利努克斯 Mac Chrome 操作系统 安卓 iOS
本机
浏览器
混合

注意:

您必须允许弹出窗口,以便单点登录与浏览器和混合访问配合使用。

系统配置要求

以下是使用 Microsoft Entra 单点登录的系统要求:

注意:

仅当用户在 WindowsMac 设备中利用混合访问时,才需要 Citrix Web Extension。如果用户利用本机或浏览器访问,则不需要 Citrix Web Extension。

注意事项

  • 如果您的用户将利用混合访问,他们必须使用 Microsoft Edge 或 Google Chrome,并安装 Citrix Web Extension。混合访问的 Microsoft Entra 单点登录不支持其他浏览器。
  • 当使用 Microsoft Entra 单点登录登录到会话时,不支持自动客户端重新连接。使用此登录方法时,此功能将自动禁用。在网络中断的情况下,会话可靠性仍可用于自动重新连接。
  • 虚拟桌面锁定时,默认行为是显示 Windows 锁定屏幕。根据您的身份验证要求,您可能需要更改会话锁定行为。有关详细信息,请参阅会话锁定行为
  • 对于 Microsoft Entra 混合加入的会话主机,单点登录默认不适用于特权组(如域管理员)的成员。要启用它,请将组或用户添加到只读域控制器 (RODC) 允许列表,以进行 Microsoft Entra Kerberos 访问。有关详细信息,请参阅Microsoft Entra Kerberos TGT 和 Active Directory 访问控制

如何配置 微软 Entra 单点登录

概述

Microsoft Entra 单点登录的配置包括以下步骤:

  1. Azure 和 微软 Entra 身份识别 配置。
    1. 注册 Citrix 资源和客户端应用程序
    2. 为 Citrix 资源应用程序启用 Microsoft Entra ID 远程桌面服务身份验证协议
    3. 隐藏用户同意提示
    4. 批准客户端应用程序
    5. 创建 Kerberos 服务器对象(仅限 Microsoft Entra 标识混合加入环境)。
    6. 查看微软 Entra 条件访问策略
  2. 关于 Citrix 的配置。
    1. 预配具有所需操作系统版本、身份类型和 VDA 版本的会话主机。
    2. 如何对 StoreFront 进行配置。
    3. 在您的站点中启用 Microsoft Entra 单点登录。
    4. 在您的交付组中启用 Microsoft Entra 单点登录。

微软 Azure 和 微软 Entra 身份配置

为了利用 Microsoft Entra 单点登录,您必须首先在您的 Microsoft Entra ID 租户中允许 Windows 的 Microsoft Entra 身份验证,这使得能够颁发所需的身份验证令牌,允许用户登录到已加入 Microsoft Entra 和混合加入 Microsoft Entra 的会话主机。

进行 Azure 配置的人员必须至少被分配以下 Microsoft Entra 内置角色 之一或同等权限:

配置可以通过 Azure 门户、使用 Microsoft Graph PowerShell 软件开发工具包或 Microsoft Graph 应用程序编程接口来完成。以下部分提供了通过 Azure 门户完成配置的详细信息。如果您更喜欢使用 Microsoft Graph PowerShell 软件开发工具包或 Microsoft Graph 应用程序编程接口,请参阅 Microsoft Entra 单点登录 Azure 配置

注册 Citrix 应用程序

您必须在 Azure 租户中注册多租户 Citrix 资源应用程序,并创建单租户客户端应用程序。

首先,您必须注册 Citrix 资源应用程序。为此,请使用以下同意 URL 之一:

  • 美国、欧盟、亚太地区:https://login.microsoftonline.com/common/adminconsent?client_id=3a510bb1-e334-4298-831e-3eac97f8b26c
  • 日本:https://login.microsoftonline.com/common/adminconsent?client_id=0027603f-364b-40f2-98be-8ca4bb79bf8b

资源应用程序注册后,您需要创建单租户客户端应用程序。

创建单租户客户端应用程序
  1. 转到 Azure 门户。
  2. 导航到 Microsoft Entra 标识 > 企业应用程序
  3. 选择 新建应用程序
  4. 选择 创建您自己的应用程序
  5. 输入应用程序名称,选择 注册应用程序以与 Microsoft Entra ID 集成,然后单击 创建
  6. 支持的帐户类型 下,选择 仅限单租户,然后单击 注册
  7. 导航到 Microsoft Entra ID > 应用注册,然后选择 所有应用程序
  8. 搜索并单击您刚刚创建的应用程序。
  9. 单击 添加重定向 URI
  10. 您需要添加三个重定向 URI:Web单页应用程序移动和桌面应用程序
    1. 对于每个 URI,选择 添加重定向 URI
    2. 输入重定向 URI。有关要添加内容的详细信息,请参阅下表。

      平台类型 重定向 URI 备注
      Web 客户特定的 NetScaler 登录统一资源标识符 URI 字符串是根据您特定的 NetScaler URL 计算的。
      移动和桌面应用程序 ctxaadsso://citrix.aad.redirect 准确输入此 URI。
      SPA 应用程序(单页应用程序) StoreFront 商店 网络 统一资源定位符 输入您的 StoreFront 商店的 Web URL。例如,如果通过浏览器访问您的商店所用的 URL 是 https://finance.acme.com/Citrix/MyStoreWeb,则 SPA 重定向 URI 必须是 https://finance.acme.com/Citrix/MyStoreWeb。如果您的环境中存在多个商店,则必须将所有商店的 Web URL 输入为 SPA 重定向 URI。
    3. 选择 配置
  11. 添加所有重定向 URI 后,您需要向客户端应用程序添加 API 权限。
    1. 在“管理”下的左侧窗格中选择 API 权限
    2. 选择 添加权限
    3. 选择 我的组织使用的 API
    4. Select the Citrix Resource application (Citrix-Workspace-Resource).
    5. 在权限列表中,请勾选名为 user_impersonation 的选项。
    6. 选择 添加权限
  12. 在左侧窗格中选择 概述,并记下分配的应用程序 ID。
注册客户端应用程序

当应用程序创建并配置完成后,您必须同意该应用程序的权限。

您可以在 Azure 门户中同意应用程序的权限:

  1. 导航到 Microsoft Entra 标识 > 企业应用程序
  2. 搜索并选择客户端应用程序。
  3. 在左侧窗格的“安全性”下选择 权限
  4. 单击 为 <tenantName> 授予管理员同意
  5. 您需要同意这些权限。

或者,您可以使用管理员同意 URL:https://login.microsoftonline.com/<EntraTenantID>/adminconsent?client_id=<clientAppID>

注意:

您必须将 <EntraTenantID> 替换为您的 Entra 租户 ID,并将 <clientAppID> 替换为客户端应用程序的应用程序 ID。

Citrix 资源应用程序权限

应用程序的权限如下所示:

API 名称 声明值 访问权限 类型
微软图形 User.Read 登录并读取用户配置文件 已委派

For US, EU, and APS, the application is called Citrix-Workspace-Resource (application ID 3a510bb1-e334-4298-831e-3eac97f8b26c).

For Japan, the application is called Citrix-Workspace-Resource-JP (application ID 0027603f-364b-40f2-98be-8ca4bb79bf8b).

Citrix 客户端应用程序权限

应用程序的权限如下所示:

API 名称 声明值 权限名称 类型
Citrix 工作区资源
思杰工作区资源-JP
模拟用户身份
思杰 Entra ID 单点登录
委派的
微软图形 用户.读取 登录并读取用户配置文件 委派权限

启用 Microsoft Entra ID 远程桌面服务身份验证协议

您必须在 Citrix Resource 应用程序中启用 Microsoft Entra ID 远程桌面服务身份验证协议。为此:

  1. Azure 门户 中,导航到 Microsoft Entra ID > Devices > Manage > Remote connection configuration

    Entra 应用配置 1

  2. Select Citrix-Workspace-Resource.

  3. 启用 Microsoft Entra ID 远程桌面服务身份验证协议

    Entra 应用配置 2

  4. 继续隐藏用户同意提示。

隐藏用户同意提示对话框

默认情况下,当用户连接到已启用 Microsoft Entra 单点登录的 Microsoft Entra 联接或 Microsoft Entra 混合联接会话主机时,系统会提示他们允许远程桌面连接,他们必须选择才能允许单点登录。Microsoft Entra 将记住最多 15 个唯一的会话主机 30 天,之后会再次提示。

您可以通过配置目标设备列表来隐藏此对话框。要配置设备列表,您必须在 Microsoft Entra ID 中创建一个或多个组,其中包含 Microsoft Entra 联接和/或 Microsoft Entra 混合联接会话主机,然后在资源应用程序中授权这些组,最多可授权 10 个组。

启用 Microsoft Entra ID 远程桌面服务身份验证协议并创建组后:

  1. 点击链接以添加目标设备组,然后选择相应的组。

    Entra 应用配置 3

注意

强烈建议 创建动态组 以简化组的成员管理。虽然动态组通常在 5-10 分钟内更新,但大型租户可能需要长达 24 小时。

动态组需要 Microsoft Entra ID P1 许可证或 Intune for Education 许可证。有关更多信息,请参阅 组的动态成员资格规则

  1. 继续批准客户端应用程序。

批准客户端应用程序

您必须在 Citrix Resource 应用程序中将 Citrix Client 应用程序明确添加为已批准的客户端:

  1. 单击链接以添加您的受信任客户端应用程序。

    Entra 应用配置 4

  2. 选择 Citrix 客户端应用程序。

    Entra 应用配置 5

  3. 选择 保存 以将配置更改应用于 Citrix Resource 应用程序。

    Entra 应用配置 6

  4. 继续创建 Kerberos 服务器对象。

创建 Kerberos 服务器对象

如果您的会话主机是 Microsoft Entra 混合加入的,则必须在用户和计算机帐户所在的 Active Directory 域中配置 Kerberos 服务器对象。有关详细信息,请参阅 创建 Kerberos 服务器对象

审查 微软 Entra 条件访问策略

如果您使用或计划使用 Microsoft Entra 条件访问策略,请查看应用于 Citrix Resource application 的配置,以确保用户获得预期的登录体验。

有关在使用 DaaS 的 Microsoft Entra 单点登录时配置条件访问的详细指南,请参阅 Microsoft 文档。请记住,所需的条件访问设置必须应用于 Citrix Resource application,而不是 Microsoft 应用程序。

Citrix 会话主机

请确保会话主机的系统要求得到满足:

  1. 确保会话主机已加入 Microsoft Entra 混合。
  2. 按照系统要求中指定的内容,安装所需的操作系统版本和内部版本。
  3. 按照系统要求安装所需的 VDA 版本。

微软 Entra 混合加入的会话主机

当使用 Citrix Machines Creation Services、Citrix Provisioning 或 Windows 365 部署 Microsoft Entra 混合加入的会话主机时,请继续下一节。如果您使用任何其他工具或方法预配 Microsoft Entra 混合加入的主机,则必须将以下注册表值添加到您的会话主机:

  • 键:HKLM\SYSTEM\CurrentControlSet\Control\Citrix
  • Value type: DWORD
  • 值名称:AzureADJoinType
  • 数据:1

会话锁定行为

当虚拟桌面被锁定时,默认行为是显示 Windows 锁定屏幕。此时,解锁桌面支持的身份验证方法是用户名和密码智能卡

如果您的部署是无密码的,即用户无需知道其密码,建议将会话锁定行为配置为断开会话,而不是显示锁定屏幕。

您可以通过 Intune 或组策略启用“针对 Microsoft 身份平台身份验证在锁定状态下断开远程会话”设置来配置此行为。有关详细步骤,请参阅 为 Azure 虚拟桌面配置会话锁定行为

Citrix 访问和控制平面

StoreFront 配置说明和步骤

为了在 StoreFront 环境中成功启用 Microsoft Entra 单点登录功能,请务必详细查阅 StoreFront 官方文档中关于 Entra ID single-on 的具体说明和配置指南。

在 Web Studio 中启用 微软 Entra 单点登录

要在您的站点上启用 Microsoft Entra 单点登录,您必须添加客户端和资源应用程序详细信息以及重定向 URI。有关详细信息,请参阅 设置 文档。

为交付组启用 Microsoft Entra 单点登录

使用 Web Studio 进行操作
  1. 在 Web Studio 中转到交付组,然后单击“创建交付组”。
  2. 在“用户”页面上,选择“Microsoft Entra 混合加入”作为身份类型。
  3. 在以下页面上完成配置。有关参考,请参阅 创建交付组
Using PowerShell
  1. 创建新的交付组并将 VDA 添加到交付组。将用户(AD 帐户)分配给 VDA。
  2. 将交付组 MachineLogonType 设置为 HybridAzureAd。例如:

    Get-BrokerDesktopGroup -Name <dgName> | Set-BrokerDesktopGroup -MachineLogOnType "HybridAzureAd"
    <!--NeedCopy-->
    
  3. 信任 Xml 服务。

    Add-PSSnapin Citrix.Broker.Admin.V2
    Set-BrokerSite -TrustRequestsSentToTheXmlServicePort $true
    <!--NeedCopy-->
    
  4. 设置 SSO 参数(有关指导,请参阅下表)。

    Set-BrokerSite -AzureGlobalCloudId "B16898C6-A148-4967-9171-64D755DA8520" -AzureSSOnAuthorizeUrl "<URL>" -AzureSSOnClientId "<clientAppID>" -AzureSSOnRedirectUrl "<URL>" -AzureSSOnResourceAppId "<resourceAppID>"
    <!--NeedCopy-->
    

    下表提供了有关参数及其默认值的详细信息:

    参数名 默认设定值 详细说明
    Azure 全球云标识符 B16898C6-A148-4967-9171-64D755DA8520 Identifies the Entra CloudAP in Windows.
    Azure 单点登录授权 URL https://login.microsoftonline.com/common/ 初始登录 URL。这取决于 Entra 租户所在的 Azure 云(例如 Azure 商业版与 Azure 政府版)。
    Azure 单点登录客户端 ID 无默认值 客户端应用程序的应用程序 ID。
    Azure 单点登录重定向 URL 无默认值 身份验证后重定向 URI。它必须是客户端应用程序中配置为重定向 URI 的 URL。
    Azure 单点登录资源应用 ID 3a510bb1-e334-4298-831e-3eac97f8b26c Citrix 资源应用程序的应用程序 ID。

客户端设备

确保客户端设备的系统要求得到满足:

  1. 安装 系统要求 中指定的所需 Citrix Workspace 应用程序版本。
  2. 如果您的用户将利用 混合访问,请确保已安装 Citrix Web Extension。如果您的用户将使用本机或浏览器访问,则不需要 Citrix Web Extension。

故障排除

  • 有关 StoreFront 故障排除问题,请参阅 诊断日志
  • 如果您从 StoreFront 收到以下错误:There was a failure with the mapped account。这可能是一个纯 Entra 用户,没有同步/支持的 AD 帐户。
  • 启动时在获取 Ica 文件之前立即出现错误:请确保您已启用信任 Xml Service。
  • 如果 VDA 在注册期间卡在“正在初始化”:请确保 VDA 已移至实际已进行 Entra 同步的 OU。

当单点登录失败时

如果访问虚拟桌面或应用程序时单点登录失败,请按以下步骤操作:

  1. 确认 StoreFront 中已启用微软 Entra 单点登录。

  2. 确认您的站点中已启用 Microsoft Entra 单点登录。

  3. 确认交付组中已启用 Microsoft Entra 单点登录。

  4. 确认用户所使用的访问方法是受支持的。

  5. 如果用户正在使用混合访问,请确认已安装 Citrix Web Extension。

  6. 确认客户端设备正在运行所需的 Citrix Workspace 应用程序版本。

  7. 确认您的会话主机正在运行所需的 Windows 版本。

  8. 确认您的会话主机正在运行所需的 VDA 版本。

  9. 确保会话主机上未启用 Windows 设置 Always prompt for password upon connection。此设置默认禁用,可通过组策略或 Intune 在 Computer Configuration\Administrative Templates\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Security 下进行配置。您可以通过查找 HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services 下的 fPromptForPassword 值来检查注册表中是否启用了该设置。如果该值设置为 1,则表示该设置已启用,单点登录将不可用。如果该值缺失或设置为 0,则表示该设置已禁用。

  10. 确认会话主机中 AzureADJoinType 设置配置正确:
    • 键:HKLM\SYSTEM\CurrentControlSet\Control\Citrix
    • 值类型为:DWORD
    • 值名称:AzureADJoinType
    • 值数据: 1 (微软 Entra 混合加入)
  11. 确保虚拟桌面或应用程序分配给 Active Directory 身份,而不是 Citrix Studio 中的 Entra ID 身份。

  12. 通过运行以下 PowerShell 命令,确认交付组的登录类型配置正确:

    Get-BrokerDesktopGroup -Name <deliveryGroupName>
    <!--NeedCopy-->
    

    对于 Microsoft Entra 混合加入的会话主机,MachineLogOnType 必须设置为 HybridAzureAd

  13. 确认 Citrix 资源应用程序和单租户客户端应用程序已注册到 Microsoft Entra 租户。

  14. 确认 Microsoft Entra ID RDS 身份验证协议已在 Citrix 资源应用程序上启用。

  15. 确认客户端应用程序已作为批准的客户端应用程序添加到 Citrix 资源应用程序中。

  16. 如果您的会话主机是 Microsoft Entra 混合加入的,请确认已在用户和计算机帐户所在的 Active Directory 域中创建了 Kerberos 服务器对象。

  17. 检查您的 Microsoft Entra 条件访问策略。确保没有策略应用于 Citrix 资源和客户端应用程序或会话主机,以免影响单点登录体验。
微软 Entra 单点登录(预览版)