Citrix Virtual Apps and Desktops

Microsoft Entra 单点登录(预览版)

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

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

重要提示:

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

支持的基础设施

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

计算机身份 思杰 DaaS CVAD 本地部署 思杰工作区 思杰 StoreFront 思杰网关服务 NetScaler 网关
Microsoft Entra 已加入
Microsoft 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 单点登录的系统要求:

注意:

仅当您的用户将在 WindowsLinuxMac 设备中利用混合访问时,才需要 Citrix Web 扩展。如果您的用户利用本机或浏览器访问,则不需要 Citrix Web 扩展。

注意事项

  • 如果您的用户将利用混合访问,他们必须使用 Microsoft Edge 或 Google Chrome,并安装 Citrix Web 扩展。混合访问的 Microsoft Entra 单点登录不支持其他浏览器。
  • 当使用 Microsoft Entra 单一登录登录会话时,不支持自动客户端重新连接。使用此登录方法时,此功能会自动禁用。在网络中断的情况下,会话可靠性仍然可用于自动重新连接。
  • 虚拟桌面锁定时,默认行为是显示 Windows 锁定屏幕。根据您的身份验证要求,您可能需要更改会话锁定行为。有关更多详细信息,请参阅 会话锁定行为
  • 对于 Microsoft Entra 混合加入的会话主机,单一登录默认不适用于特权组(例如域管理员)的成员。要启用它,请将组或用户添加到只读域控制器 (RODC) 允许列表,以进行 Microsoft Entra Kerberos 访问。有关详细信息,请参阅 Microsoft Entra Kerberos TGT 和 Active Directory 访问控制
  • Microsoft Entra 单一登录要求启用 Windows 设置 允许将自定义 SSP 和 AP 加载到 LSASS 中(默认设置)。请注意,如果您通过 Microsoft Intune 部署 适用于 Windows 10 及更高版本的安全基线 模板,此设置会自动禁用并阻止 SSO,因此您必须更新 Intune 设备配置策略以使其保持启用状态。

如何配置 Microsoft Entra 单一登录

概述

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

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

Azure 和 Microsoft Entra ID 的配置

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

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

可以通过 Azure 门户、使用 Microsoft Graph PowerShell SDK 或 Microsoft Graph API 完成配置。以下部分提供了通过 Azure 门户完成配置的详细信息。如果您更喜欢使用 Microsoft Graph PowerShell SDK 或 Microsoft Graph API,请参阅 Microsoft Entra 单点登录 Azure 配置

注册 Citrix 应用程序

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

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

  • 美国、欧盟、APS: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 ID > 企业应用程序
  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 (https://<URL>/oauth/login) 输入您的 NetScaler 身份验证 URL。例如,https://nsg.mycitrix.com/oauth/login
      移动和桌面应用程序 ctxaadsso://citrix.aad.redirect 按原样输入此 URI。
      SPA 应用程序(单页应用程序) NetScaler Gateway URL 后跟 StoreFront Store Web 路径 输入您的 NetScaler Gateway URL + StoreFront Store 的路径。例如,如果用于访问您的 Store 的 URL 是 https://access.mycitrix.com/Citrix/MyStoreWeb,并且您的 NetScaler Gateway URL 是 https://nsg.mycitrix.com,则 SPA 重定向 URI 必须是 https://nsg.mycitrix.com/Citrix/MyStoreWeb。如果您的环境中存在多个 Store,则必须为每个 Store 添加 SPA 重定向 URI 条目。
    3. 选择 配置
  11. 添加所有重定向 URI 后,您需要向客户端应用程序添加 API 权限。
    1. 在“管理”下的左侧窗格中选择 API 权限
    2. 选择 添加权限
    3. 选择 我的组织使用的 API
    4. 选择 Citrix 资源应用程序 (Citrix-Workspace-Resource)。
    5. 在权限列表中,勾选 user_impersonation
    6. 选择 添加权限
  12. 在左侧窗格中选择 概述,并记下分配的应用程序 ID。
注册客户端应用程序

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

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

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

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

注意:

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

Citrix 资源应用程序权限

以下是应用程序的权限:

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

对于美国、欧盟和 APS,该应用程序名为 Citrix-Workspace-Resource(应用程序 ID 为 3a510bb1-e334-4298-831e-3eac97f8b26c)。

对于日本,该应用程序名为 Citrix-Workspace-Resource-JP(应用程序 ID 为 0027603f-364b-40f2-98be-8ca4bb79bf8b)。

Citrix 客户端应用程序权限

以下是应用程序的权限:

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

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

您必须在 Citrix Resource 应用程序中启用 Microsoft Entra ID 远程桌面服务身份验证协议。为此,请执行以下操作:

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

    Entra 应用配置 1

  2. 选择 Citrix Workspace 资源

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

    Entra 应用配置 5

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

    Entra 应用配置 6

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

创建 Kerberos 服务器对象

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

审查 Microsoft Entra 条件访问策略

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

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

Citrix 配置

Citrix 会话主机

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

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

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

  • 键:HKLM\SYSTEM\CurrentControlSet\Control\Citrix
  • 值类型:DWORD
  • 值名称:AzureADJoinType
  • 数据:1
会话锁定行为

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

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

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

Citrix 访问和控制平面

StoreFront 配置

要通过 StoreFront 启用 Microsoft Entra 单点登录,请参阅 StoreFront 文档中的Entra ID 单点登录

在 Web Studio 中启用 Microsoft Entra 单点登录

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

为交付组启用 Microsoft Entra 单点登录
使用 Web Studio
  1. 在 Web Studio 上转到交付组,然后单击“创建交付组”。
  2. 在“用户”页面上,选择“Microsoft Entra 混合加入”作为身份类型。
  3. 在以下页面上完成配置。有关参考信息,请参阅创建交付组
使用 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-->
    

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

    参数 默认值 描述
    AzureGlobalCloudId B16898C6-A148-4967-9171-64D755DA8520 用于 Entra 身份验证的 Windows Web 帐户管理器的默认 GUID。
    AzureSSOnAuthorizeUrl https://login.microsoftonline.com/common/ 初始登录 URL。这取决于 Entra 租户所在的 Azure 云(例如 Azure Commercial 与 Azure Gov)。
    AzureSSOnClientId 无默认值 客户端应用程序的应用程序 ID。
    AzureSSOnRedirectUrl 无默认值 身份验证后重定向 URI。它必须是配置为客户端应用程序中重定向 URI 的 URL。
    AzureSSOnResourceAppId

    citrix.cloud.com/<resourceApplicationID>

    Citrix 资源应用程序的应用程序 ID。
  5. 美国、欧盟、APS:citrix.cloud.com/3a510bb1-e334-4298-831e-3eac97f8b26c
  6. 日本:citrix.cloud.com/0027603f-364b-40f2-98be-8ca4bb79bf8b

客户端设备

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

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

故障排除

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

当单点登录失败时

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

  1. 确认 StoreFront 中已启用 Microsoft 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. 确保会话主机上已启用 Windows 设置 Allow Custom SSPs and APs to be loaded into LSASS。此设置默认启用,可通过组策略或 Intune 在 Computer Configuration\System\Local Security Authority 下进行配置。

  11. 确认会话主机中 AzureADJoinType 设置配置正确:
    • 密钥:HKLM\SYSTEM\CurrentControlSet\Control\Citrix
    • 值类型:DWORD
    • 值名称:AzureADJoinType
    • 值数据:1 (Microsoft Entra 混合联接)
  12. 确保在 Citrix Studio 中,虚拟桌面或应用程序分配给 Active Directory 身份,而不是 Entra ID 身份。

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

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

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

  14. 确认 Citrix Resource 应用程序和单租户客户端应用程序已在 Microsoft Entra 租户中注册。

  15. 确认 Citrix Resource 应用程序上已启用 Microsoft Entra ID RDS 身份验证协议。

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

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

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