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

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

conditional access

基础结构先决条件

需要满足以下先决条件,然后才能开始使用本地条件访问。

要求 说明
具有 Microsoft Entra ID P1 或 P2 的 Microsoft Entra 订阅 为本地条件访问启用设备回写 - 免费试用版即可
Intune 订阅 只有设备合规性方案的 MDM 集成需要 - 免费试用版即可
Microsoft Entra Connect 2015 年 11 月 QFE 或更高版本。 在此处获取最新版本。
Windows Server 2016 AD FS 的版本 10586 或更高版本
Windows Server 2016 Active Directory 架构 架构级别 85 或更高级别是必需的。
Windows Server 2016 域控制器 只有 Hello 企业版密钥信任部署才需要。 可以在此处找到更多信息。
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,则需要重新运行 Microsoft Entra Connect 安装并刷新本地 AD 架构,确保 msDS-KeyCredentialLink 的同步规则已配置。

验证架构级别

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

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

ADSI Edit

还可以使用以下 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. 使用自定义路径部署 Microsoft Entra Connect,将 AD FS 连接到 Microsoft Entra ID。

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

注意

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

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

如果你的 AD FS 场尚未针对设备身份验证(可以在 AD FS 管理控制台中的“服务”->“设备注册”下看到此项)进行配置,则使用以下步骤创建正确的 AD DS 对象和配置。

Screenshot that shows the Device Registration Overview screen.

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

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

Screenshot that highlights the Active Directory module for Windows PowerShell and the AD DS Tools options.

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

    Import-module activedirectory PS C:\> Initialize-ADDeviceRegistration -ServiceAccountName "<your service account>"

  2. 在弹出窗口中点击“是”。

注意:如果你的 AD FS 服务被配置为使用 GMSA 帐户,则以“domain\accountname$”格式输入帐户名称

Screenshot that shows how to use the listed PowerShell commands.

上述 PSH 创建以下对象:

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

Screenshot that shows the progress of the objects being created.

  1. 完成后,你将看到一条指示成功完成的消息。

Screenshot that shows the successful completion message.

在 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

Screenshot that shows the path to the AdSyncPrep file.

  1. 提供 Microsoft Entra 全局管理员凭据。

    PS C:>$aadAdminCred = Get-Credential

Screenshot that shows where to provide the Microsoft Entra Global Administrator credentials.

  1. 运行以下 PowerShell 命令

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

其中,[AD connector account name] 是你在添加自己的本地 AD DS 目录时,在 Microsoft Entra Connect 中配置的帐户的名称。

上述命令让 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 connector account name] 是你在以 domain\accountname 格式添加自己的本地 AD DS 目录时,在 Azure AD Connect 中配置的帐户的名称

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

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

在 Microsoft Entra Connect 中启用设备写回

请在 Microsoft Entra Connect 中启用设备写回(如果尚未这样做),方法是:再次运行向导,选择“自定义同步选项”,然后选中设备写回的框并选择你已在其中运行上述 cmdlet 的林

在 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 同步 AD 连接器帐户的读取/写入访问权限

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

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

Device Registration

  • 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=

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

查看它是否正常工作

若要评估新声明和策略,请先注册设备。 例如,可以使用“系统”->“关于”下的“设置应用”将 Windows 10 计算机联接到 Microsoft Entra,也可以按照此处的附加步骤设置带有自动设备注册的 Windows 10 域加入。 若要了解如何加入 Windows 10 移动设备,请参阅此处的文档。

为便于评估,请使用一个显示声明列表的测试应用程序登录到 AD FS。 你将能够看到新声明,包括 isManaged、isCompliant 和 trusttype。 如果启用 Windows Hello 企业版,则还会看到 prt 声明。

配置其他方案

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

若要为 Windows 10 域加入计算机启用自动设备注册,请按照此处的步骤 1 和 2 进行操作。 这将有助于实现以下目标:

  1. 确保你在 AD DS 中的服务连接点存在并具有适当的权限(我们已在上面创建这个对象,但你最好还是仔细检查一下)。
  2. 确保 AD FS 已正确配置
  3. 确保 AD FS 系统已启用正确的终结点并配置了声明规则
  4. 配置域加入计算机的自动设备注册所需的组策略设置

Windows Hello 企业版

若要了解如何启用 Windows 10 的 Windows Hello 企业版,请参阅在组织中启用 Windows Hello 企业版

自动 MDM 注册

若要启用已注册设备的自动 MDM 注册,以便在访问控制策略中使用 isCompliant 声明,请按照此处的步骤操作。

疑难解答

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