使用 Microsoft Entra ID(包括无密码)登录到 Azure 中的 Windows 虚拟机

组织可以通过集成 Microsoft Entra 身份验证来提高 Windows 虚拟机 (VM) 的安全性。 现在可以使用 Microsoft Entra ID 作为核心身份验证平台,通过远程桌面协议 (RDP) 访问 Windows Server 2019 Datacenter Edition 及更高版本或 Windows 10 1809 及更高版本。 然后可以集中控制并强制实施允许或拒绝访问 VM 的 Azure 基于角色的访问控制 (RBAC) 和条件访问策略。

本文介绍如何创建和配置 Windows VM,并使用基于 Microsoft Entra ID 的身份验证进行登录。

使用基于 Microsoft Entra ID 的身份验证登录到 Azure 中的 Windows VM 可以带来诸多安全优势。 其中包括:

  • 使用 Microsoft Entra 身份验证(包括无密码)登录到 Azure 中的 Windows VM。

  • 减少对本地管理员帐户的依赖。

  • 为 Microsoft Entra ID 配置的密码复杂性和密码生存期策略还有助于保护 Windows VM。

  • 使用 Azure RBAC:

    • 指定谁能够以普通用户身份或管理员特权登录到 VM。
    • 当用户加入或离开你的团队时,你可以更新 VM 的 Azure RBAC 策略,根据需要授予访问权限。
    • 员工在离开你的组织时,其用户帐户会被禁用或从 Microsoft Entra ID 中删除,然后他们就再也不能访问你的资源。
  • 使用“要求身份验证强度授予控制”或“要求多重身份验证”和其他信号(例如用户登录风险)配置“防钓鱼 MFA”的条件访问策略,然后才能通过 RDP 登录到 Windows VM。

  • 使用 Azure Policy 部署和审核策略以要求使用 Microsoft Entra 登录 Windows VM,并在 VM 上标记使用未经批准的本地帐户。

  • 使用 Intune 通过移动设备管理 (MDM) 自动注册虚拟桌面基础结构 (VDI) 部署中的 Azure Windows VM 来自动执行和缩放 Microsoft Entra 联接。

    MDM 自动注册需要 Microsoft Entra ID P1 许可证。 Windows Server VM 不支持 MDM 注册。

注意

启用此功能后,Azure 中的 Windows 虚拟机将建立与 Microsoft Entra 的联接。 不能将它们联接到其他域,例如本地 Active Directory 或 Microsoft Entra 域服务。 如果需要执行此操作,则通过卸载扩展来断开 VM 与 Microsoft Entra ID 的连接。

要求

受支持的 Azure 区域和 Windows 发行版

此功能目前支持以下 Windows 发行版:

  • Windows Server 2019 Datacenter 和更高版本
  • Windows 10 1809 和更高版本
  • Windows 11 21H2 和更高版本

此功能现已在以下 Azure 云中提供:

  • Azure 全球
  • Azure Government
  • 由世纪互联运营的 Microsoft Azure

网络要求

若要为 Azure 中的 Windows VM 启用 Microsoft Entra 身份验证,你需要确保 VM 网络配置允许通过 TCP 端口 443 对以下终结点进行出站访问。

Azure 全球:

  • https://enterpriseregistration.windows.net:用于设备注册。
  • http://169.254.169.254:Azure 实例元数据服务终结点。
  • https://login.microsoftonline.com:用于身份验证流。
  • https://pas.windows.net:用于 Azure RBAC 流。

Azure 政府:

  • https://enterpriseregistration.microsoftonline.us:用于设备注册。
  • http://169.254.169.254:Azure 实例元数据服务终结点。
  • https://login.microsoftonline.us:用于身份验证流。
  • https://pasff.usgovcloudapi.net:用于 Azure RBAC 流。

由世纪互联运营的 Microsoft Azure:

  • https://enterpriseregistration.partner.microsoftonline.cn:用于设备注册。
  • http://169.254.169.254:Azure 实例元数据服务终结点。
  • https://login.chinacloudapi.cn:用于身份验证流。
  • https://pas.chinacloudapi.cn:用于 Azure RBAC 流。

身份验证要求

Microsoft Entra 来宾帐户无法通过 Microsoft Entra 身份验证连接到 Azure VM 或启用了 Azure Bastion 的 VM。

为 Azure 中的 Windows VM 启用 Microsoft Entra 登录

若要对 Azure 中的 Windows VM 使用 Microsoft Entra 登录,必须:

  1. 为 VM 启用 Microsoft Entra 登录选项。
  2. 为被授权登录到 VM 的用户配置 Azure 角色分配。

可以通过两种方式为 Windows VM 启用 Microsoft Entra 登录:

  • Azure 门户(创建 Windows VM 时)。
  • Azure Cloud Shell(创建 Windows VM 或使用现有 Windows VM 时)。

注意

如果存在与安装了扩展的 VM 的主机名具有相同 displayMame 的设备对象,则 VM 无法加入 Microsoft Entra ID,并且会出现主机名重复错误。 通过修改主机名来避免重复。

Azure 门户

可以为 Windows Server 2019 Datacenter 或 Windows 10 1809 及更高版本中的 VM 映像启用 Microsoft Entra 登录。

若要使用 Microsoft Entra 登录在 Azure 中创建 Windows Server 2019 Datacenter VM,请执行以下操作:

  1. 使用有权创建 VM 的帐户登录到 Azure 门户,然后选择“+ 创建资源”。

  2. 在“搜索市场”搜索栏中键入“Windows Server”。

  3. 选择“Windows Server”,然后从“选择软件计划”下拉列表中选择“Windows Server 2019 Datacenter”。

  4. 选择创建

  5. 在“管理”选项卡上,选中“Microsoft Entra ID”部分中的“使用 Microsoft Entra ID 登录”复选框。

    显示 Azure 门户页面上用于创建虚拟机的“管理”选项卡的屏幕截图。

  6. 确保选中“标识”部分中的“系统分配的托管标识”。 使用 Microsoft Entra ID 启用登录后,此操作将自动执行。

  7. 完成创建虚拟机的其余体验。 你必须为 VM 创建管理员用户名和密码。

注意

要使用 Microsoft Entra 凭据登录 VM,首先需要为 VM 配置角色分配

Azure Cloud Shell

Azure Cloud Shell 是免费的交互式 shell,可以使用它运行本文中的操作步骤。 Cloud Shell 中预安装并配置了常用的 Azure 工具以供你的帐户使用。 只需要选择“复制”按钮来复制代码,将其粘贴到 Cloud Shell 中,然后选择 Enter 键来运行它。 可通过多种方式打开 Cloud Shell:

  • 选择代码块右上角的“试用”。
  • 在浏览器中打开 Cloud Shell。
  • 选择 Azure 门户右上角菜单上的“Cloud Shell”按钮。

本文要求运行 Azure CLI 2.0.31 或更高版本。 运行 az --version 即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure CLI 一文。

  1. 运行 az group create 创建资源组。
  2. 运行 az vm create 创建 VM。 使用受支持区域中受支持的发行版。
  3. 安装 Microsoft Entra 登录 VM 扩展。

以下示例将名为 myVM(使用 Win2019Datacenter)的 VM 部署到 southcentralus 区域中名为 myResourceGroup 的资源组中。 在本例和下一个示例中,可以根据需要提供自己的资源组和 VM 名称。

az group create --name myResourceGroup --location southcentralus

az vm create \
    --resource-group myResourceGroup \
    --name myVM \
    --image Win2019Datacenter \
    --assign-identity \
    --admin-username azureuser \
    --admin-password yourpassword

注意

在安装 Microsoft Entra 登录 VM 扩展之前,必须在虚拟机上启用系统分配的托管标识。 托管标识存储在单个 Microsoft Entra 租户中,且目前不支持跨目录场景。

创建 VM 和支持资源需要几分钟时间。

最后,安装 Microsoft Entra 登录 VM 扩展,以便为 Windows VM 启用 Microsoft Entra 登录。 VM 扩展是小型应用程序,可在 Azure 虚拟机上提供部署后配置和自动化任务。 请使用 az vm extension setmyResourceGroup 资源组中名为 myVM 的 VM 上安装 AADLoginForWindows 扩展。

可以在现有 Windows Server 2019 或 Windows 10 1809 及更高版本的 VM 上安装 AADLoginForWindows 扩展,以使其能够进行 Microsoft Entra 身份验证。 以下示例使用 Azure CLI 安装扩展:

az vm extension set \
    --publisher Microsoft.Azure.ActiveDirectory \
    --name AADLoginForWindows \
    --resource-group myResourceGroup \
    --vm-name myVM

在 VM 上安装扩展后,provisioningState 会显示 Succeeded

为 VM 配置角色分配

创建 VM 后,需要分配以下 Azure 角色之一,以确定可登录到 VM 的人员。 若要分配这些角色,必须具有虚拟机数据访问管理员角色,或者任何包含 Microsoft.Authorization/roleAssignments/write 操作的角色,例如基于角色的访问控制管理员角色。 但是,如果使用不同于虚拟机数据访问管理员的角色,建议添加条件来缩减支持创建角色分配的权限

  • 虚拟机管理员登录:分配了此角色的用户可以使用管理员权限登录到 Azure 虚拟机。
  • 虚拟机用户登录:分配了此角色的用户可使用常规用户权限登录到 Azure 虚拟机

若要允许用户通过 RDP 登录到 VM,必须分配对虚拟机资源的“虚拟机管理员登录”或“虚拟机用户登录”角色。

注意

不支持通过将用户添加到本地管理员组的成员或通过运行 net localgroup administrators /add "AzureAD\UserUpn" 命令来手动提升用户成为 VM 上的本地管理员。 需要使用上述 Azure 角色来授权 VM 登录。

分配有 VM“所有者”或“参与者”角色的 Azure 用户不会自动获得通过 RDP 登录到 VM 的特权。 原因是为了在控制虚拟机的用户群与可访问虚拟机的用户群之间形成经过审核的分隔。

可以通过两种方式配置 VM 的角色分配:

  • Microsoft Entra 管理中心体验
  • Azure Cloud Shell 体验

注意

“虚拟机管理员登录”和“虚拟机用户登录”角色使用 dataActions,因此无法在管理组范围内进行分配。 目前只能在订阅、资源组或资源范围中分配这些角色。

Microsoft Entra 管理中心

若要为启用 Microsoft Entra ID 的 Windows Server 2019 Datacenter VM 配置角色分配,请执行以下操作:

  1. 对于资源组,选择包含 VM 及其关联的虚拟网络、网络接口、公共 IP 地址或负载平衡器资源的“资源组”。

  2. 选择“访问控制 (IAM)”。

  3. 选择“添加”>“添加角色分配”,打开“添加角色分配”页面。

  4. 分配以下角色。 有关详细步骤,请参阅使用 Azure 门户分配 Azure 角色

    设置
    角色 虚拟机管理员登录或虚拟机用户登录
    将访问权限分配到 用户、组、服务主体或托管标识

    用于添加角色分配的页面的屏幕截图。

Azure Cloud Shell

以下示例使用 az role assignment create 为当前的 Azure 用户分配登录到 VM 所需的“虚拟机管理员登录名”角色。 使用 az account show 获取当前 Azure 帐户的用户名,使用 az vm show 将 scope 设置为在前面的步骤中创建的 VM。

还可以在资源组或订阅级别分配范围。 应用正常的 Azure RBAC 继承权限。

$username=$(az account show --query user.name --output tsv)
$rg=$(az group show --resource-group myResourceGroup --query id -o tsv)

az role assignment create \
    --role "Virtual Machine Administrator Login" \
    --assignee $username \
    --scope $rg

注意

如果 Microsoft Entra 域和登录用户名域不匹配,则必须使用 --assignee-object-id 指定用户帐户的对象 ID,而不是仅指定 --assignee 的用户名。 可以使用 az ad user list 获取用户帐户的对象 ID。

有关如何使用 Azure RBAC 管理对 Azure 订阅资源的访问的详细信息,请参阅以下文章:

使用 Microsoft Entra 凭据登录到 Windows VM

可使用以下两种方法通过 RDP 进行登录:

  1. 使用任何受支持的 Microsoft Entra 凭据的无密码(推荐)
  2. 使用证书信任模型部署的 Windows Hello 企业版的密码/有限的无密码

使用 Microsoft Entra ID 进行无密码身份验证登录

若要在 Azure 中对 Windows VM 使用无密码身份验证,需要以下操作系统上的 Windows 客户端计算机和会话主机 (VM):

注意

使用“Web 帐户登录到远程计算机”选项时,无需将本地设备加入域或 Microsoft Entra ID。

要连接到远程计算机:

  • 从 Windows 搜索或通过运行 mstsc.exe 来启动远程桌面连接
  • 在“高级”选项卡中选择“使用 Web 帐户登录到远程计算机”选项。此选项等效于 enablerdsaadauth RDP 属性。 有关详细信息,请参阅远程桌面服务支持的 RDP 属性
  • 指定远程计算机的名称,然后选择“连接”。

重要

使用“使用 Web 帐户登录远程计算机”选项时,无法使用 IP 地址。 该名称必须与 Microsoft Entra ID 中远程设备的主机名匹配,并且可网络寻址,并解析为远程设备的 IP 地址。

  • 当系统提示输入凭据时,请以 user@domain.com 格式指定用户名。
  • 然后,在连接到新电脑时,系统会提示你允许远程桌面连接。 Microsoft Entra 最多记住 15 台主机 30 天,在 30 天之后会再次提示。 如果看到此对话,请选择“是”进行连接。

重要

如果组织已配置并使用 Microsoft Entra 条件访问,则设备必须满足条件访问要求,以允许连接到远程计算机。 条件访问策略可能应用于应用程序 Microsoft 远程桌面 (a4a365df-50f1-4397-bc59-1a1564b8bb9c) 以实现受控访问。

注意

远程会话中的 Windows 锁屏界面不支持 Microsoft Entra 身份验证令牌或 FIDO 密钥之类的无密码身份验证方法。 不支持这些身份验证方法意味着用户无法在远程会话中解锁屏幕。 当你尝试通过用户操作或系统策略锁定远程会话时,会话会断开连接,服务会向用户发送一条消息,说明其已断开连接。 断开会话还可以确保在一段时间不活动后重新启动连接时,Microsoft Entra ID 会重新评估适用的条件访问策略。

通过 Microsoft Entra ID 使用密码/有限无密码身份验证登录

重要

仅允许从已注册 Microsoft Entra Microsoft Entra(要求的最低版本为 20H1)、Microsoft Entra 联接,或 Microsoft Entra 混合联接到同一版本的 Windows 10 或更高版本的 VM 进行远程连接目录作为 VM。 此外,对于使用 Microsoft Entra 凭证的 RDP,用户必须属于两个 Azure 角色之一,即虚拟机管理员登录或虚拟机用户登录。

如果使用已注册 Microsoft Entra 的 Windows 10 或更高版本的电脑,则必须以 AzureAD\UPN 格式(例如 AzureAD\john@contoso.com)输入凭据。 目前,Azure Bastion 可用于使用 Microsoft Entra 身份验证通过 Azure CLI 和本机 RDP 客户端 mstsc 登录。

若要使用 Microsoft Entra ID 登录到 Windows Server 2019 虚拟机,请执行以下操作:

  1. 转到已启用 Microsoft Entra 登录的虚拟机的概述页面。
  2. 选择“连接”,打开“连接到虚拟机”窗格。
  3. 选择“下载 RDP 文件”。
  4. 选择“打开”,以打开远程桌面连接客户端。
  5. 选择“连接”,以打开“Windows 登录”对话框。
  6. 使用 Microsoft Entra 凭据登录。

现在,你已使用分配的角色权限(例如“VM 用户”或“VM 管理员”)登录到 Windows Server 2019 Azure 虚拟机。

注意

可以将 .RDP 文件保存在本地计算机上,以便将来启动与虚拟机的远程桌面连接,而无需转到 Azure 门户中的虚拟机概述页面以及使用连接选项。

强制执行条件访问策略

在授权访问 Azure 中已启用 Microsoft Entra 登录的 Windows VM 之前,可以强制执行条件访问策略,如使用“要求身份验证强度(预览)授予控制”的“防钓鱼 MFA”、多重身份验证或用户登录风险检查。 若要应用条件访问策略,必须从云应用或操作分配选项中选择“Microsoft Azure Windows 虚拟机登录”应用。 然后使用登录风险作为条件或使用“要求身份验证强度授予控制”的“防钓鱼 MFA”,或要求 MFA 作为授予访问权限的控制。

注意

如果需要使用 MFA 作为访问“Microsoft Azure Windows 虚拟机登录”应用的授权访问控制,则必须提供 MFA 声明,作为向 Azure 中目标 Windows VM 发起 RDP 会话的客户端的一部分。 此操作可通过使用满足条件访问策略的 RDP 无密码身份验证方法来实现,但如果对 RDP 使用有限的无密码方法,则在 Windows 10 或更高版本的客户端上实现此目的的唯一方法是对 RDP 客户端使用 Windows Hello 企业版 PIN 或生物识别身份验证。 在 Windows 10 版本 1809 中,已向 RDP 客户端添加对生物特征身份验证的支持。 使用 Windows Hello 企业版身份验证的远程桌面仅适用于使用证书信任模型的部署。 它目前不适用于密钥信任模型。

使用 Azure Policy 满足标准并评估合规性

使用 Azure Policy 可以:

  • 确保为新的和现有的 Windows 虚拟机启用 Microsoft Entra 登录。
  • 在合规性仪表板上大规模评估环境的合规性。

借助此功能,可以使用多个强制实施级别。 你可以标记环境中未启用 Microsoft Entra 登录的新的和现有 Windows VM。 还可以使用 Azure Policy 在未启用 Microsoft Entra 登录的新 Windows VM 上部署 Microsoft Entra 扩展,并按照相同的标准来修正现有的 Windows VM。

除这些功能以外,还可以使用 Azure Policy 来检测并标记在其计算机上创建了未批准的本地帐户的 Windows VM。 若要了解详细信息,请参阅 Azure Policy

排查部署问题

AADLoginForWindows 扩展必须成功安装,VM 才能完成 Microsoft Entra 联接过程。 如果 VM 扩展无法正确安装,请执行以下步骤:

  1. 使用本地管理员帐户通过 RDP 连接到 VM,并检查 C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.ActiveDirectory.AADLoginForWindows\1.0.0.1 下的 CommandExecution.log 文件。

    注意

    如果扩展在初始失败后重启,则含有部署错误的日志将保存为 CommandExecution_YYYYMMDDHHMMSSSSS.log。

  2. 在 VM 上打开 PowerShell 窗口。 验证针对 Azure 主机上运行的 Azure 实例元数据服务终结点的以下查询是否返回预期输出:

    要运行的命令 预期输出
    curl.exe -H Metadata:true "http://169.254.169.254/metadata/instance?api-version=2017-08-01" 有关 Azure VM 的正确信息
    curl.exe -H Metadata:true "http://169.254.169.254/metadata/identity/info?api-version=2018-02-01" 与 Azure 订阅关联的有效租户 ID
    curl.exe -H Metadata:true "http://169.254.169.254/metadata/identity/oauth2/token?resource=urn:ms-drs:enterpriseregistration.windows.net&api-version=2018-02-01" Microsoft Entra ID 为分配给此 VM 的托管标识颁发的有效访问令牌

    注意

    可以使用 https://jwt.ms/ 之类的工具对访问令牌进行解码。 验证访问令牌中的 oid 值是否与分配给 VM 的托管标识匹配。

  3. 确保可以通过 PowerShell 从 VM 访问所需的终结点:

    • curl.exe https://login.microsoftonline.com/ -D -
    • curl.exe https://login.microsoftonline.com/<TenantID>/ -D -
    • curl.exe https://enterpriseregistration.windows.net/ -D -
    • curl.exe https://device.login.microsoftonline.com/ -D -
    • curl.exe https://pas.windows.net/ -D -

    注意

    <TenantID> 替换为与 Azure 订阅关联的 Microsoft Entra 租户 ID。 login.microsoftonline.com/<TenantID>enterpriseregistration.windows.netpas.windows.net 应该返回 404 Not Found,这是预期行为。

  4. 运行 dsregcmd /status 查看设备状态。 目标是让设备状态显示为 AzureAdJoined : YES

    注意

    Microsoft Entra 联接活动在 Event Viewer (local)\Applications 和 Services Logs\Microsoft\Windows\User Device Registration\Admin 的 User Device Registration\Admin 日志下的事件查看器中捕获。

如果 AADLoginForWindows 扩展失败并出现错误代码,则可以执行以下步骤。

终端错误代码 1007 和退出代码 -2145648574。

终端错误代码 1007 和退出代码 -2145648574 转换为 DSREG_E_MSI_TENANTID_UNAVAILABLE。 扩展无法查询 Microsoft Entra 租户信息。

以本地管理员身份连接到 VM,并验证终结点是否从 Azure 实例元数据服务返回有效的租户 ID。 从 VM 上的提升 PowerShell 窗口运行以下命令:

curl -H Metadata:true http://169.254.169.254/metadata/identity/info?api-version=2018-02-01

当 VM 管理员尝试安装 AADLoginForWindows 扩展,但系统分配的托管标识尚未先启用 VM 时,也可能发生此问题。 在这种情况下,请转到 VM 的“标识”窗格。 在“系统分配”选项卡中,验证“状态”是否切换为“开启”。

退出代码 -2145648607

退出代码 -2145648607 转换为 DSREG_AUTOJOIN_DISC_FAILED。 扩展无法访问 https://enterpriseregistration.windows.net 终结点。

  1. 验证是否可以通过 PowerShell 从 VM 访问所需的终结点:

    • curl https://login.microsoftonline.com/ -D -
    • curl https://login.microsoftonline.com/<TenantID>/ -D -
    • curl https://enterpriseregistration.windows.net/ -D -
    • curl https://device.login.microsoftonline.com/ -D -
    • curl https://pas.windows.net/ -D -

    注意

    <TenantID> 替换为与 Azure 订阅关联的 Microsoft Entra 租户 ID。 如果需要查找租户 ID,可以将鼠标悬停在帐户名上,或者选择“标识”>“概述”>“属性”>“租户 ID”。

    尝试连接到 enterpriseregistration.windows.net 可能会返回“404 未找到”,这是正常现象。 尝试连接 pas.windows.net 可能会提示输入 PIN 凭据,或者可能会返回“404 未找到”。 (无需输入 PIN。)任何一个都足以验证 URL 是否可访问。

  2. 如果任何命令失败,并且出现“无法解析主机 <URL>”,请尝试运行此命令,确定 VM 正在使用的 DNS 服务器:

    nslookup <URL>

    注意

    <URL> 替换为终结点使用的完全限定的域名,例如 login.microsoftonline.com

  3. 查看指定公共 DNS 服务器是否允许命令成功:

    nslookup <URL> 208.67.222.222

  4. 如有必要,请更改分配给 Azure VM 所属的网络安全组的 DNS 服务器。

退出代码 51

退出代码 51 转换为“VM 的操作系统不支持此扩展”。

AADLoginForWindows 扩展仅适用于在 Windows Server 2019 或 Windows 10(1809 或更高版本)上安装。 确保 Windows 版本或内部版本受支持。 如果不支持,请卸载该扩展。

排查登录问题

请根据以下信息来纠正登录问题。

可以通过运行 dsregcmd /status 来查看设备和单一登录 (SSO) 状态。 目标是使设备状态显示为 AzureAdJoined : YES,使 SSO 状态显示为 AzureAdPrt : YES

通过 Microsoft Entra 帐户进行的 RDP 登录在 Applications and Services Logs\Microsoft\Windows\AAD\Operational 事件日志下的事件查看器中捕获。

未分配 Azure 角色

启动与 VM 的远程桌面连接时,可能会收到以下错误消息:“你的帐户已配置为阻止你使用此设备。 有关详细信息,请与系统管理员联系。”

指示你的帐户配置为阻止你使用此设备的消息屏幕截图。

请验证是否已为授予用户虚拟机管理员登录或虚拟机用户登录角色的 VM 配置 Azure RBAC 策略

注意

如果在 Azure 角色分配方面遇到问题,请参阅排查 Azure RBAC 的问题

需要未经授权的客户端或密码更改

启动与 VM 的远程桌面连接时,可能会收到以下错误消息:“你的凭据无效。”

指示你的凭据无效的消息屏幕截图。

请尝试以下解决方案:

  • 用于启动远程桌面连接的 Windows 10 或更高版本的电脑必须为 Microsoft Entra 联接,或混合联接到同一 Microsoft Entra 目录的 Microsoft Entra。 如需详细了解设备标识,请参阅什么是设备标识?一文。

    注意

    Windows 10 版本 20H1 添加了对已注册 Microsoft Entra 电脑的支持来启动到 VM 的 RDP 连接。 在使用已注册 Microsoft Entra(而不是已建立 Microsoft Entra 联接或已建立混合 Microsoft Entra 联接)的电脑作为 RDP 客户端来启动与 VM 的连接时,必须采用 AzureAD\UPN 格式(例如 AzureAD\john@contoso.com)输入凭据。

    请验证在 Microsoft Entra 联接建立完成后是否尚未卸载 AADLoginForWindows 扩展。

    此外,请确保在服务器和客户端上都已启用安全策略“网络安全:允许请求对此计算机进行 PKU2U 身份验证以使用联机标识”。

  • 验证用户是否没有临时密码。 临时密码不能用于登录到远程桌面连接。

    在 Web 浏览器中使用用户帐户登录。 例如,在私人浏览窗口中登录 Azure 门户。 如果系统提示你更改密码,请设置新密码。 然后,重试连接。

需要 MFA 登录方法

启动与 VM 的远程桌面连接时,可能会看到以下错误消息:“你尝试使用的登录方法不受允许。 请尝试其他登录方法或与系统管理员联系。”

指示你尝试使用的登录方法不受允许的消息屏幕截图。

如果配置了一种条件访问策略,该访问策略需要 MFA 或旧式每用户启用/强制实施的 Microsoft Entra 多重身份验证才能访问资源,则需要确保启动与 VM 的远程桌面连接的 Windows 10 或更高版本的电脑使用强身份验证方法(如 Windows Hello)登录。 如果不对远程桌面连接使用强身份验证方法,则会看到该错误。

另一个与 MFA 相关的错误消息是前面所述的错误消息:“你的凭据无效。”

指示你的凭据无效的消息屏幕截图。

如果配置了旧式每用户“启用/强制实施的 Microsoft Entra 多重身份验证”设置,并遇到上述错误,则可以通过移除每用户 MFA 设置来解决此问题。 有关详细信息,请参阅启用每用户 Microsoft Entra 多重身份验证事件来保护登录事件

如果尚未部署 Windows Hello 企业版,并且目前还没有此选项,则可以配置条件访问策略,在该策略中将“Microsoft Azure Windows 虚拟机登录”应用从需要 MFA 的云应用列表中排除。 若要了解有关 Windows Hello 企业版的详细信息,请参阅 Windows Hello 企业版概述

注意

多个 Windows 10 版本已支持使用 RDP 进行 Windows Hello 企业版 PIN 身份验证。 Windows 10 版本 1809 中添加了对使用 RDP 进行生物特征身份验证的支持。 在 RDP 过程中使用 Windows Hello 企业版身份验证适用于使用证书信任模型或密钥信任模型的部署。

Microsoft Entra 反馈论坛上分享此功能的反馈或报告使用时存在的问题。

缺少应用程序

如果条件访问中缺少 Microsoft Azure Windows 虚拟机登录应用程序,请确保应用程序位于租户中:

  1. 至少以云应用程序管理员身份登录到 Microsoft Entra 管理中心
  2. 浏览到“标识”>“应用程序”>“企业应用程序”。
  3. 删除筛选器,查看所有应用程序,然后搜索“VM”。 如果搜索结果中没有“Microsoft Azure Windows 虚拟机登录”,则租户中缺少服务主体。

提示

某些租户可能会看到名为“Azure Windows VM 登录”而不是“Microsoft Azure Windows 虚拟机登录”的应用程序。 该应用程序的 ID 为 372140e0-b3b7-4226-8ef9-d57986796201。

后续步骤

有关 Microsoft Entra ID 的详细信息,请参阅什么是 Microsoft Entra ID?