使用已注册的设备配置本地条件访问

以下文档将指导你安装和配置已注册设备的本地条件访问。

条件访问

基础结构先决条件

需要满足以下先决条件。

要求 DESCRIPTION
具有 Microsoft Entra ID P1 或 P2 的 Microsoft Entra 订阅 若要为本地条件访问启用设备写回功能 - 免费试用就可以
Intune 订阅 仅在设备合规方案中需要 MDM 集成时 - 免费试用就可以
Microsoft Entra Connect Sync 在此处获取最新版本。
Windows Server 2016 AD FS 版本号 10586 或更高版本
Windows Server 2016 Active Directory 架构 架构级别 85 或更高级别是必需的。
Windows Server 2016 域控制器 仅适用于 Hello For Business 密钥信任部署。 有关详细信息,请参阅此文
Windows 10 客户端 仅 Windows 10 域加入和 Windows Hello 企业版方案需要加入上述域的版本 10586 或更高版本
已分配有 Microsoft Entra ID P1 或 P2 许可证的 Microsoft Entra 用户帐户 用于注册设备

升级 Active Directory 架构

若要对已注册的设备使用本地条件访问,必须先升级 AD 架构。 必须满足以下条件:

  • 架构应为版本 85 或更高版本
  • 只有 AD FS 加入到的林才需要

注释

如果在升级到 Windows Server 2016 中的架构版本(级别 85 或更高版本)之前安装了 Microsoft Entra Connect Sync,则需要重新运行 Microsoft Entra Connect Sync 安装并刷新本地 AD 架构,以确保配置 msDS-KeyCredentialLink 的同步规则。

验证架构级别

若要验证架构级别,请执行以下操作:

  1. 使用 ADSIEdit.exe 或 LDP.exe 并连接到架构命名上下文。
  2. 在 ADSIEdit 中,右键单击“CN=Schema,CN=Configuration,DC=<___domain>,DC=<com>”并选择属性。 将域和 com 部分替换为你的林信息。
  3. 在“属性编辑器”下找到 objectVersion 属性,并告诉你你的版本。

ADSI 编辑器

你还可以使用以下 PowerShell cmdlet(将对象替换为架构命名上下文信息):

Get-ADObject "cn=schema,cn=configuration,dc=___domain,dc=local" -Property objectVersion

PowerShell

有关升级的详细信息,请参阅 将域控制器升级到 Windows Server 2016

启用Microsoft Entra 设备注册

若要配置此方案,必须在 Microsoft Entra ID 中配置设备注册功能。

为此,请按照在组织中设置 Microsoft Entra 联接下的步骤操作。

设置 AD FS

  1. 创建新的 AD FS 2016 场
  2. 或者将场从 AD FS 2012 R2 迁移到 AD FS 2016
  3. 使用自定义路径将 AD FS 连接到 Microsoft Entra ID,部署 Microsoft Entra Connect Sync

配置设备写回和设备身份验证

注释

如果使用快速设置运行Microsoft Entra Connect Sync,则已为你创建正确的 AD 对象。 但是,在大多数 AD FS 方案中,Microsoft使用自定义设置运行 Entra Connect Sync 来配置 AD FS,因此需要执行以下步骤。

为 AD FS 设备身份验证创建 AD 对象

如果尚未为设备身份验证配置 AD FS 场(可能会在服务 -> 设备注册下的 AD FS 管理控制台中看到这种情况),请使用以下步骤创建正确的 AD DS 对象和配置。

显示“设备注册概述”屏幕的屏幕截图。

注释

以下命令需要 Active Directory 管理工具,因此,如果联合服务器不是域控制器,请先使用下面的步骤 1 安装这些工具。 否则,可以跳过步骤 1。

  1. 运行“添加角色和功能”向导并选择功能“远程服务器管理工具”->“角色管理工具”->“AD DS 和 AD LDS 工具”-> 同时选择“Windows PowerShell 的 Active Directory 模块”和“AD DS 工具”。

突出显示 Windows PowerShell 和 AD DS 工具选项的 Active Directory 模块的屏幕截图。

  1. 在 AD FS 主服务器上,确保使用企业管理员 (EA) 权限以 AD DS 用户身份登录,并打开提升的 PowerShell 提示符。 然后,执行以下 PowerShell 命令:

Import-module activedirectoryPS C:\> Initialize-ADDeviceRegistration -ServiceAccountName "<your service account>" 3. 在弹出窗口上,点击“是”。

注释

如果 AD FS 服务配置为使用 GMSA 帐户,请以“___domain\accountname$”格式输入帐户名称

显示如何使用列出的 PowerShell 命令的屏幕截图。

上述 PSH 创建以下对象:

  • AD 域分区下的 RegisteredDevices 容器
  • “配置”下的“设备注册服务”容器和对象 --> 服务 --> 设备注册配置
  • “配置”-->“服务”-->“设备注册配置”下的设备注册服务 DKM 容器和对象

显示所创建对象的进度的屏幕截图。

  1. 完成此作后,你将看到一条成功完成消息。

显示成功完成消息的屏幕截图。

在 AD 中创建服务连接点 (SCP)

如果计划按此处所述使用 Windows 10 域加入(自动注册到 Microsoft Entra ID),请执行以下命令在 AD DS 中创建服务连接点

  1. 打开 Windows PowerShell 并执行以下作:

PS C:>Import-Module -Name "C:\Program Files\Microsoft Azure Active Directory Connect\AdPrep\AdSyncPrep.psm1"

注释

如有必要,请从 Microsoft Entra Connect 同步服务器复制 AdSyncPrep.psm1 文件。 此文件位于 Program Files\Microsoft Entra Connect\AdPrep 中

显示 AdSyncPrep 文件路径的屏幕截图。

  1. 提供Microsoft Entra 条件访问管理员凭据。

PS C:>$aadAdminCred = Get-Credential

显示在何处提供Microsoft Entra 条件访问管理员凭据的屏幕截图。

  1. 运行以下 PowerShell 命令

PS C:>Initialize-ADSyncDomainJoinedComputerSync -AdConnectorAccount [AD connector account name] -AzureADCredentials $aadAdminCred

其中 [AD 连接器帐户名称] 是在添加本地 AD DS 目录时在 Microsoft Entra Connect Sync 中配置的帐户的名称。

上述命令使 Windows 10 客户端可以通过在 AD DS 中创建 serviceConnectionpoint 对象来查找要加入的正确Microsoft Entra 域。

为设备回写准备 AD

对于从 Microsoft Entra ID 进行的设备写回,为确保 AD DS 对象和容器处于正确的状态,请执行以下操作。

  1. 打开 Windows PowerShell 并执行以下作:

PS C:>Initialize-ADSyncDeviceWriteBack -DomainName <AD DS ___domain name> -AdConnectorAccount [AD connector account name]

其中 [AD 连接器帐户名称] 是在添加本地 AD DS 目录时以 ___domain\accountname 格式在 Microsoft Entra Connect Sync 中配置的帐户名称

上述命令为设备写回 AD DS 创建以下对象(如果它们尚不存在),并允许访问指定的 AD 连接器帐户名称

  • AD 域分区中的 RegisteredDevices 容器
  • “配置”下的“设备注册服务”容器和对象 --> 服务 --> 设备注册配置

在 Microsoft Entra Connect Sync 中启用设备写回

如果你之前没有进行过此操作,请再次运行此向导并选择自定义同步选项,然后勾选设备写回框,并选择你运行上述 cmdlet 所在的林,以在 Microsoft Entra Connect Sync 中启用设备写回。

在 AD FS 中配置设备身份验证

使用提升的 PowerShell 命令窗口,通过执行以下命令来配置 AD FS 策略

PS C:>Set-AdfsGlobalAuthenticationPolicy -DeviceAuthenticationEnabled $true -DeviceAuthenticationMethod All

检查配置

对于参考,下面是设备写回和身份验证工作所需的 AD DS 设备、容器和权限的综合列表

  • CN=RegisteredDevices,DC=<___domain> 上类型为 ms-DS-DeviceContainer 的对象

    • AD FS 服务帐户的读取访问权限
    • Microsoft Entra Connect Sync AD 连接器帐户的读/写访问权限

  • 容器 CN=Device Registration Configuration,CN=Services,CN=Configuration,DC=<___domain>

  • 上方容器下的容器设备注册服务 DKM

设备注册

  • CN=<guid>, CN=Device Registration 上类型为 serviceConnectionpoint 的对象

  • Configuration,CN=Services,CN=Configuration,DC=<___domain>

  • 新对象上指定的 AD 连接器帐户名称的读取/写入访问权限

  • CN=Device Registration Services,CN=Device Registration Configuration,CN=Services,CN=Configuration,DC=<___domain> 上类型为 msDS-DeviceRegistrationServiceContainer 的对象

  • 上述容器中 msDS-DeviceRegistrationService 类型的对象

查看它是否正常工作

若要评估新的声明和策略,请先注册设备。 例如,Microsoft Entra 使用“系统”->“关于”下面的“设置”应用加入 Windows 10 计算机,或者按照此处的附加步骤通过自动设备注册设置 Windows 10 域加入。 有关加入 Windows 10 移动设备的信息,请参阅 此处的文档。

若要进行最简单的评估,请使用显示声明列表的测试应用程序登录到 AD FS。 你将能够看到新的声明,包括 isManagedisComplianttrusttype。 如果启用 Windows Hello 企业版,你还将看到 prt 声明。

配置附加场景

Windows 10 域加入计算机的自动注册

若要为已加入 Windows 10 域的计算机启用自动设备注册,请按照 此处的步骤 1 和 2 进行作。

  1. 确保 AD DS 中的服务连接点存在并具有适当的权限(我们已经在上面创建了此对象,但再次确认无妨)。
  2. 确保正确配置 AD FS
  3. 确保 AD FS 系统已启用正确的终结点并配置了声明规则
  4. 配置域加入计算机的自动设备注册所需的组策略设置

Windows Hello 企业版

有关使用 Windows Hello 企业版启用 Windows 10 的信息,请参阅 在组织中启用 Windows Hello 企业版。

自动 MDM 注册

若要启用已注册设备的自动 MDM 注册,请执行以下步骤

故障排除

  1. 如果在 Initialize-ADDeviceRegistration 上出现错误,指出某个对象已处于不正确的状态,例如“无法找到所有必需属性的 DRS 服务对象”,这可能是因为您之前已执行 Microsoft Entra Connect Sync PowerShell 命令,并且在 AD DS 中留有部分配置。 尝试手动删除 CN=Device Registration Configuration、CN=Services、CN=Configuration、DC=<___domain> 下的对象,然后再试一次。
  2. 对于 Windows 10 域加入客户端
  3. 若要验证设备身份验证是否正常工作,请以测试用户帐户身份登录到已加入域的客户端。 若要快速触发预配,请至少锁定和解锁桌面一次。
  4. 有关检查 AD DS 对象上的 STK 密钥凭据链接的说明(同步是否仍必须运行两次?)
  5. 如果在尝试注册 Windows 计算机时收到错误提示说设备已注册,但您无法或已经取消注册设备,那么注册表中可能还有设备注册配置的残留片段。 若要调查并删除此项,请使用以下步骤:
  6. 在 Windows 计算机上,打开 Regedit 并导航到 HKLM\Software\Microsoft\Enrollments
  7. 在此项下,有 GUID 形式的子项。 导航到其中包含大约 17 个值且“EnrollmentType”为“6”[联接 MDM] 或“13”(联接 Microsoft Entra)的子项
  8. EnrollmentType 修改为 0
  9. 再次尝试设备注册