使用Microsoft Entra身份验证为Windows 365 商业版配置单一登录

本文介绍使用Microsoft Entra身份验证为Windows 365配置单一登录 (SSO) 的过程。 启用 SSO 后,用户可以使用与 Microsoft Entra ID 联合的无密码身份验证和第三方标识提供者登录到其云电脑。 启用后,此功能在向云电脑进行身份验证时和访问基于Microsoft Entra ID的应用和网站时在会话中提供 SSO 体验。

若要使用Microsoft Entra ID身份验证启用 SSO,必须完成以下四项任务:

  1. 为远程桌面协议启用Microsoft Entra身份验证, (RDP)

  2. 配置目标设备组。

  3. 查看条件访问策略。

  4. 配置组织设置以启用 SSO。

启用 SSO 之前

启用 SSO 之前,请查看以下信息,以便在环境中使用它。

会话锁定时断开连接

启用 SSO 后,用户使用Microsoft Entra ID身份验证令牌登录到 Windows,该令牌支持对 Windows 的无密码身份验证。 远程会话中的 Windows 锁屏界面不支持Microsoft Entra ID身份验证令牌或无密码身份验证方法,例如 FIDO 密钥。 会话已断开连接并通知用户,而不是之前在会话锁定时显示远程锁屏界面的行为。 断开会话的连接可确保:

  • 用户受益于单一登录体验,在允许时无需身份验证提示即可重新连接。
  • 用户可以使用无密码身份验证(如 FIDO 密钥)重新登录到其会话。
  • 当用户重新连接到其会话时,将重新评估条件访问策略(包括多重身份验证和登录频率)。

先决条件

在启用 SSO 之前,必须满足以下先决条件:

为 RDP 启用Microsoft Entra身份验证

必须首先允许Microsoft Entra租户中的 Windows 进行Microsoft Entra身份验证,从而允许颁发 RDP 访问令牌,使用户能够登录到其云电脑。 必须在以下Microsoft Entra应用程序的服务主体上完成此更改:

Application Name 应用程序 ID
Microsoft 远程桌面 a4a365df-50f1-4397-bc59-1a1564b8bb9c
Windows Cloud 登录 270efc09-cd0d-444b-a71f-39af4910ec45

重要

作为即将进行的更改的一部分,我们将从 Microsoft 远程桌面 过渡到 Windows 云登录,从 2024 年开始。 配置这两个应用程序现在可确保你已准备好进行更改。

若要允许 Entra 身份验证,可以使用 Microsoft Graph PowerShell SDK 在服务主体上创建新的 remoteDesktopSecurityConfiguration 对象 ,并将 属性 isRemoteDesktopProtocolEnabled 设置为 true。 还可以将Microsoft图形 API图形资源管理器等工具配合使用。

按照以下步骤使用 PowerShell 进行更改:

  1. 使用 PowerShell 终端类型启动Azure 门户中的 Azure Cloud Shell,或在本地设备上运行 PowerShell。

    1. 如果使用 Cloud Shell,请确保 Azure 上下文设置为要使用的订阅。

    2. 如果在本地使用 PowerShell,请先使用 Azure PowerShell 登录,然后确保 Azure 上下文设置为要使用的订阅。

  2. 请确保从先决条件中安装了 Microsoft Graph PowerShell SDK。 然后,Microsoft Graph 模块导入身份验证应用程序,并通过运行以下命令,使用 和 Application-RemoteDesktopConfig.ReadWrite.All 范围连接到 Microsoft GraphApplication.Read.All

    Import-Module Microsoft.Graph.Authentication
    Import-Module Microsoft.Graph.Applications
    
    Connect-MgGraph -Scopes "Application.Read.All","Application-RemoteDesktopConfig.ReadWrite.All"
    
  3. 通过运行以下命令获取每个服务主体的对象 ID 并将其存储在变量中:

    $MSRDspId = (Get-MgServicePrincipal -Filter "AppId eq 'a4a365df-50f1-4397-bc59-1a1564b8bb9c'").Id
    $WCLspId = (Get-MgServicePrincipal -Filter "AppId eq '270efc09-cd0d-444b-a71f-39af4910ec45'").Id
    
  4. 通过运行以下命令将 属性 isRemoteDesktopProtocolEnabled 设置为 true 。 这些命令没有输出。

    $params = @{
        "@odata.type" = "#microsoft.graph.remoteDesktopSecurityConfiguration"
        isRemoteDesktopProtocolEnabled = $true
    }
    
    If ((Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $MSRDspId) -ne $true) {
        Update-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $MSRDspId -IsRemoteDesktopProtocolEnabled -BodyParameter $params
    }
    
    If ((Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $WCLspId) -ne $true) {
        Update-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $WCLspId -IsRemoteDesktopProtocolEnabled -BodyParameter $params
    }
    
  5. 通过运行以下命令确认 属性 isRemoteDesktopProtocolEnabled 设置为 true

    Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $MSRDspId
    Get-MgServicePrincipalRemoteDesktopSecurityConfiguration -ServicePrincipalId $WCLspId
    

    输出应为:

    Id IsRemoteDesktopProtocolEnabled
    -- ------------------------------
    id True
    

配置目标设备组

为 RDP 启用Microsoft Entra身份验证后,必须配置目标设备组。 默认情况下,启用 SSO 时,系统会提示用户向Microsoft Entra ID进行身份验证,并在启动与新云电脑的连接时允许远程桌面连接。 Microsoft Entra最多会记住 15 台主机 30 天,然后再次提示。 如果用户看到允许远程桌面连接的对话框,则应选择“ ”进行连接。

若要隐藏此对话框,需要在包含云电脑的Microsoft Entra ID中创建一个或多个组,然后为该组的同一Microsoft 远程桌面Windows Cloud 登录应用程序(如上一部分中所述)的服务主体设置属性。

提示

建议使用动态组并配置动态成员身份规则以包括所有云电脑。 可以使用此组中的设备名称,但为了获得更安全的选项,可以使用 Microsoft 图形 API 设置和使用设备扩展属性。 虽然动态组通常在 5-10 分钟内更新,但大型租户可能需要长达 24 小时的时间。

动态组需要 Microsoft Entra ID P1 许可证或教育版Intune许可证。 有关详细信息,请参阅 组的动态成员身份规则

若要配置服务主体,请使用 Microsoft Graph PowerShell SDK ,使用动态组的对象 ID 和显示名称在服务主体上创建新的 targetDeviceGroup 对象 。 还可以将Microsoft图形 API图形资源管理器等工具配合使用。

  1. 在Microsoft Entra ID中创建一个动态组,其中包含要为其隐藏对话框的云电脑。 记下组的对象 ID,以执行下一步。

  2. 在同一 targetDeviceGroup PowerShell 会话中,通过运行以下命令创建对象,并将 <placeholders> 替换为自己的值:

    $tdg = New-Object -TypeName Microsoft.Graph.PowerShell.Models.MicrosoftGraphTargetDeviceGroup
    $tdg.Id = "<Group object ID>"
    $tdg.DisplayName = "<Group display name>"
    
  3. 通过运行以下命令将 targetDeviceGroup 组添加到 对象:

    New-MgServicePrincipalRemoteDesktopSecurityConfigurationTargetDeviceGroup -ServicePrincipalId $MSRDspId -BodyParameter $tdg
    New-MgServicePrincipalRemoteDesktopSecurityConfigurationTargetDeviceGroup -ServicePrincipalId $WCLspId -BodyParameter $tdg
    

    输出应类似:

    Id                                   DisplayName
    --                                   -----------
    12345678-abcd-1234-abcd-1234567890ab Contoso-Cloud-PC
    

    对要添加到 targetDeviceGroup 对象的每个组重复步骤 2 和 3,最多为 10 个组。

  4. 如果以后需要从 targetDeviceGroup 对象中删除设备组,请运行以下命令,并将 <placeholders> 替换为自己的值:

    Remove-MgServicePrincipalRemoteDesktopSecurityConfigurationTargetDeviceGroup -ServicePrincipalId $MSRDspId -TargetDeviceGroupId "<Group object ID>"
    Remove-MgServicePrincipalRemoteDesktopSecurityConfigurationTargetDeviceGroup -ServicePrincipalId $WCLspId -TargetDeviceGroupId "<Group object ID>"
    

查看条件访问策略

启用 SSO 后,将引入一个新的 Microsoft Entra ID 应用,以在云电脑中对用户进行身份验证。 如果具有在访问Windows 365时适用的条件访问策略,请查看为Windows 365设置条件访问策略的建议,以确保用户具有所需的体验并保护环境。

为帐户中的所有云电脑启用 SSO

  1. 使用具有Windows 365管理员角色的帐户登录 windows365.microsoft.com。
  2. 选择 组织的云电脑,然后选择 “更新组织设置”。
  3. 选择“云电脑设置”下的“单一登录”选项。