使用Microsoft Entra身份验证为Windows 365 商业版配置单一登录
本文介绍使用Microsoft Entra身份验证为Windows 365配置单一登录 (SSO) 的过程。 启用 SSO 后,用户可以使用与 Microsoft Entra ID 联合的无密码身份验证和第三方标识提供者登录到其云电脑。 启用后,此功能在向云电脑进行身份验证时和访问基于Microsoft Entra ID的应用和网站时在会话中提供 SSO 体验。
若要使用Microsoft Entra ID身份验证启用 SSO,必须完成以下四项任务:
配置目标设备组。
查看条件访问策略。
配置组织设置以启用 SSO。
启用 SSO 之前
启用 SSO 之前,请查看以下信息,以便在环境中使用它。
会话锁定时断开连接
启用 SSO 后,用户使用Microsoft Entra ID身份验证令牌登录到 Windows,该令牌支持对 Windows 的无密码身份验证。 远程会话中的 Windows 锁屏界面不支持Microsoft Entra ID身份验证令牌或无密码身份验证方法,例如 FIDO 密钥。 会话已断开连接并通知用户,而不是之前在会话锁定时显示远程锁屏界面的行为。 断开会话的连接可确保:
- 用户受益于单一登录体验,在允许时无需身份验证提示即可重新连接。
- 用户可以使用无密码身份验证(如 FIDO 密钥)重新登录到其会话。
- 当用户重新连接到其会话时,将重新评估条件访问策略(包括多重身份验证和登录频率)。
先决条件
在启用 SSO 之前,必须满足以下先决条件:
若要配置Microsoft Entra租户,必须为你分配以下Microsoft Entra内置角色之一:
云电脑必须运行安装了相关累积更新的以下作系统之一:
- Windows 11 企业版安装了 2022-10 Windows 11 (KB5018418) 或更高版本的累积汇报。
- 安装Windows 10 (KB5018410) 或更高版本的 2022-10 累积汇报Windows 10 企业版。
在本地设备或 Azure Cloud Shell上安装 Microsoft Graph PowerShell SDK 2.9.0 或更高版本。
为 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 进行更改:
使用 PowerShell 终端类型启动Azure 门户中的 Azure Cloud Shell,或在本地设备上运行 PowerShell。
如果使用 Cloud Shell,请确保 Azure 上下文设置为要使用的订阅。
如果在本地使用 PowerShell,请先使用 Azure PowerShell 登录,然后确保 Azure 上下文设置为要使用的订阅。
请确保从先决条件中安装了 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"
通过运行以下命令获取每个服务主体的对象 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
通过运行以下命令将 属性
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 }
通过运行以下命令确认 属性
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与图形资源管理器等工具配合使用。
在Microsoft Entra ID中创建一个动态组,其中包含要为其隐藏对话框的云电脑。 记下组的对象 ID,以执行下一步。
在同一
targetDeviceGroup
PowerShell 会话中,通过运行以下命令创建对象,并将<placeholders>
替换为自己的值:$tdg = New-Object -TypeName Microsoft.Graph.PowerShell.Models.MicrosoftGraphTargetDeviceGroup $tdg.Id = "<Group object ID>" $tdg.DisplayName = "<Group display name>"
通过运行以下命令将
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 个组。如果以后需要从
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
- 使用具有Windows 365管理员角色的帐户登录 windows365.microsoft.com。
- 选择 组织的云电脑,然后选择 “更新组织设置”。
- 选择“云电脑设置”下的“单一登录”选项。