使用 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 访问令牌,允许用户登录到其云电脑。 必须在以下 entra 应用程序的服务主体上完成此更改Microsoft:

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 图形 APIGraph 资源管理器等工具配合使用。

按照以下步骤使用 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 会在 30 天内记住最多 15 个主机,然后再次提示。 如果用户看到允许远程桌面连接的对话框,则应选择“ ”进行连接。

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

提示

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

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

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

  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. 选择“云电脑设置”下的“单一登录”选项。