为加入Microsoft Entra的设备配置单一登录

本文介绍适用于以下Windows Hello 企业版功能或方案:


Windows Hello 企业版与已加入Microsoft Entra设备相结合,使用户能够使用强大的双因素凭据轻松访问基于云的资源。 当组织将资源转换为云时,某些资源可能保留在本地,Microsoft Entra已加入的设备可能需要访问它们。 使用混合部署的其他配置,可以使用Windows Hello 企业版、密钥或证书为已加入Microsoft Entra设备的本地资源提供单一登录。

注意

使用云 Kerberos 信任模型时,不需要执行这些步骤。

必备条件

与Microsoft Entra混合加入的设备不同,已加入Microsoft Entra设备与 Active Directory 域没有关系。 此因素改变了用户向 Active Directory 进行身份验证的方式。 验证以下配置,确保它们支持Microsoft Entra联接的设备:

  • 证书吊销列表 (CRL) 分发点
  • 域控制器证书
  • 网络基础结构已到位,用于访问本地域控制器。 如果计算机位于外部,则可以使用任何 VPN 解决方案

CRL 分发点 (CDP)

证书颁发机构颁发的证书可以被吊销。 证书颁发机构吊销证书时,会将有关证书的信息写入证书 吊销列表中 , (CRL) 。
在证书验证期间,Windows 会将当前证书与 CRL 中的信息进行比较,以确定证书是否有效。

证书的 CDP 属性的屏幕截图。

在屏幕截图中,域控制器证书的 CDP 属性显示 LDAP 路径。 针对加入域的设备使用 Active Directory,提高了分发点的可用性。 但是,Microsoft Entra联接的设备无法从 Active Directory 读取数据,并且证书验证不提供在读取 CRL 之前进行身份验证的机会。 身份验证成为一个循环问题:用户尝试进行身份验证,但必须读取 Active Directory 才能完成身份验证,但用户无法读取 Active Directory,因为他们尚未进行身份验证。

若要解决此问题,CRL 分发点必须是不需要身份验证Microsoft Entra联接设备可访问的位置。 最简单的解决方案是在使用HTTP(不是HTTPS)的 Web 服务器上发布 CRL 分发点。

如果 CRL 分发点未列出 HTTP 分发点,则需要重新配置颁发证书颁发机构,以在分发点列表中包括 HTTP CRL 分发点,最好先在分发点列表中。

注意

如果 CA 已发布 基本Delta CRL,请确保在 HTTP 路径中发布 Delta CRL 。 通过允许在 (IIS) Web 服务器中进行双重转义,包括 Web 服务器以提取 Delta CRL

域控制器证书

证书颁发机构在颁发证书时将 CDP 信息写入证书。 如果分发点发生更改,则必须重新颁发以前颁发的证书,证书颁发机构才能包含新的 CDP。 域控制器证书是向 Active Directory 进行身份验证的已加入Microsoft Entra设备的关键组件之一。

Windows 为何需要验证域控制器证书?

Windows Hello 企业版在对已加入Microsoft Entra的设备进行身份验证时强制实施严格的 KDC 验证安全功能。 此强制实施规定了更严格的标准,密钥分发中心 (KDC) 必须满足这些条件。 在已加入Microsoft Entra的设备上使用 Windows Hello 企业版 进行身份验证时,Windows 客户端通过确保满足以下所有要求来验证来自域控制器的答复:

  • 域控制器具有提供的证书的私钥
  • 颁发域控制器证书的根 CA 位于设备的 受信任的根证书颁发机构中
  • 使用 Kerberos 身份验证证书模板 ,而不是任何其他较旧的模板
  • 域控制器的证书具有 KDC 身份验证 扩展密钥用法 (EKU)
  • 域控制器证书的使用者备用名称具有与域名称匹配的 DNS 名称
  • 域控制器证书的签名哈希算法为 sha256
  • 域控制器证书的公钥是 RSA (2048 位)

重要提示

使用 Windows Hello 企业版 从Microsoft Entra混合加入的设备到域进行身份验证不会强制域控制器证书包含 KDC 身份验证 EKU。 如果要将已加入Microsoft Entra设备添加到现有域环境,请确保验证域控制器证书是否已更新为包含 KDC 身份验证 EKU。

为颁发 CA 配置 CRL 分发点

使用这组过程更新颁发域控制器证书以包含基于 http 的 CRL 分发点的 CA。

配置 Internet Information Services 以托管 CRL 分发点

需要在 Web 服务器上托管新的证书吊销列表,以便加入Microsoft Entra设备无需身份验证即可轻松验证证书。 可以通过多种方式将这些文件托管在 Web 服务器上。 以下步骤只是一个步骤,对于不熟悉添加新 CRL 分发点的管理员来说可能很有用。

重要提示

不要将 CRL 分发点所在的 IIS 服务器配置为使用 https 或服务器身份验证证书。 客户端应使用 http 访问分发点。

安装 Web 服务器

  1. 以本地管理员身份登录到服务器,并在登录期间未启动服务器管理器
  2. 在导航窗格中选择“ 本地服务器 ”节点。 选择“管理”,然后选择“添加角色和功能
  3. “添加角色和功能向导”中,选择“ 服务器选择”。 验证所选的服务器是否为本地服务器。 选择“ 服务器角色”。 选择“Web 服务器 (IIS) ”旁边的检查框
  4. 通过向导中的剩余选项选择“ 下一步 ”,接受默认值,然后安装 Web 服务器角色

配置 Web 服务器

  1. Windows 管理工具中,打开 Internet Information Services (IIS) 管理器

  2. 展开导航窗格,以显示“默认网站”。 选择,然后右键单击“ 默认网站 ”,然后选择“ 添加虚拟目录...”。

  3. 在“添加虚拟目录”对话框中,在“别名”内输入 cdp。 对于物理路径,请键入或浏览将托管证书吊销列表的物理文件位置。 对于此示例,使用路径 c:\cdp 。 选择 “确定添加虚拟目录”。

    注意

    记下该路径,因为稍后将使用它来配置共享和文件权限。

  4. 在导航窗格中,选择“默认网站”下的“CDP”。 在内容窗格中打开 “目录浏览 ”。 在详细信息窗格中选择“启用”

  5. 在导航窗格中,选择“默认网站”下的“CDP”。 打开配置编辑器

  6. “分区”列表中,导航到 system.webServer/security/requestFilteringIIS 配置编辑器 requestFiltering。

  7. 在内容窗格中的命名值对列表中,将 allowDoubleEscaping 配置为 True。 在“操作”窗格中选择“IIS 配置”编辑器双重转义。

  8. 关闭 Internet Information Services (IIS) 管理器

为 CRL 分发点 URL 创建 DNS 资源记录

  1. 在 DNS 服务器或管理工作站上,从管理工具打开 DNS 管理器
  2. 展开“正向查找区域”以显示域的 DNS 区。 在导航窗格中右键单击域名,然后选择 “新建主机 (A 或 AAAA) ...”
  3. 在“新建主机”对话框中,在“名称”中键入 crl 。 键入在“IP 地址”中配置的 Web 服务器的 IP 地址。 选择 “添加主机”。 选择 “确定” 关闭 DNS 对话框。 选择“完成Create DNS 主机记录”。
  4. 关闭 DNS 管理器

准备文件共享以托管证书吊销列表

这些过程在 Web 服务器上配置 NTFS 和共享权限,以允许证书颁发机构自动发布证书吊销列表。

配置 CDP 文件共享

  1. 在 Web 服务器上,打开 Windows 资源管理器并导航到在配置 Web 服务器的步骤 3 中创建的 cdp 文件夹
  2. 右键单击 cdp 文件夹,然后选择“ 属性”。 选择“ 共享 ”选项卡。选择“ 高级共享”
  3. 选择“共享此文件夹”。 在“共享名称”中输入 cdp$。 选择 “权限cdp 共享”。
  4. “cdp$ 的权限”对话框中,选择“添加
  5. “选择用户、计算机、服务帐户或组 ”对话框中,选择“ 对象类型”。 在“ 对象类型 ”对话框中,选择“ 计算机”,然后选择“ 确定”
  6. “选择用户、计算机、服务帐户或组 ”对话框中, 在“输入要选择的对象名称”中,键入运行证书颁发机构颁发证书吊销列表的服务器的名称,然后选择“ 检查名称”。 选择 “确定”
  7. 在“cdp$ 权限”对话框中,从“组或用户名称列表”中选择证书颁发机构。 在“权限”部分,为“完全控制”选择“允许”。 选择“ 确定CDP 共享权限”。
  8. 在“ 高级共享 ”对话框中,选择“ 确定”

提示

确保用户可以访问 \\Server FQDN\sharename

禁用缓存

  1. 在 Web 服务器上,打开 Windows 资源管理器并导航到在配置 Web 服务器的步骤 3 中创建的 cdp 文件夹
  2. 右键单击 cdp 文件夹,然后选择“ 属性”。 选择“ 共享 ”选项卡。选择“ 高级共享”
  3. 选择“ 缓存”。 选择“ 共享文件夹中没有文件或程序可用,脱机CDP 禁用缓存”。
  4. 选择 “确定”

配置 CDP 文件夹的 NTFS 权限

  1. 在 Web 服务器上,打开 Windows 资源管理器并导航到在配置 Web 服务器的步骤 3 中创建的 cdp 文件夹
  2. 右键单击 cdp 文件夹,然后选择“ 属性”。 选择“ 安全性 ”选项卡
  3. 在“ 安全性 ”选项卡上,选择“编辑”
  4. 在“ cdp 的权限 ”对话框中,选择“ 添加CDP NTFS 权限”。
  5. “选择用户、计算机、服务帐户或组 ”对话框中,选择“ 对象类型”。 在“对象类型”对话框中,选择“计算机”。 选择 “确定”
  6. “选择用户、计算机、服务帐户或组 ”对话框中, 在“输入要选择的对象名称”中,键入证书颁发机构的名称,然后选择“ 检查名称”。 选择 “确定”
  7. 在“cdp 权限”对话框中,从“组或用户名称列表”中选择证书颁发机构的名称。 在“权限”部分,为“完全控制”选择“允许”。 选择 “确定”
  8. “cdp 属性”对话框中选择“关闭

在颁发 CA 中配置新的 CDP 和发布位置

web 服务器准备好托管 CRL 分发点。 现在,将颁发证书颁发机构配置为在新位置发布 CRL,并包括新的 CRL 分发点。

配置 CRL 分发点

  1. 在证书颁发机构上,作为本地管理员登录。 从管理工具启动证书颁发机构控制台
  2. 在导航窗格中,右键单击证书颁发机构的名称,然后选择 “属性”
  3. 选择“扩展”。 在“扩展”选项卡上,从“选择扩展”列表中选择“CRL 分发点 (CDP)
  4. 在“ 扩展 ”选项卡上,选择“ 添加”。 在位置键入 http://crl.[domainname]/cdp/ 。 例如,<http://crl.corp.contoso.com/cdp/><http://crl.contoso.com/cdp/> (不要忘记 cdp“新建位置”对话框) 尾随正斜杠。
  5. “变量”列表中选择“<CaName>”,然后选择“插入”。 从“变量”列表中选择“<CRLNameSuffix>”,然后选择“插入”。 从“变量”列表中选择“<DeltaCRLAllowed>”,然后选择“插入
  6. 在“位置”中文本末尾键入.crl 。 选择 “确定”
  7. 选择刚刚创建的 CDP 完成 http。
  8. 选择“ 在 CRL 中包括”。客户端使用它来查找增量 CRL 位置
  9. 选择“在已颁发证书的 CDP 扩展中包括
  10. 选择“ 应用 ”,保存所选内容。 当要求重启服务时,选择 “否

注意

也可删除未使用的 CRL 分发点和发布位置。

配置 CRL 发布位置

  1. 在证书颁发机构上,作为本地管理员登录。 从管理工具启动证书颁发机构控制台
  2. 在导航窗格中,右键单击证书颁发机构的名称,然后选择 “属性”
  3. 选择“扩展”。 在“扩展”选项卡上,从“选择扩展”列表中选择“CRL 分发点 (CDP)
  4. 在“ 扩展 ”选项卡上,选择“ 添加”。 在“配置 CDP 文件共享”中键入为 CRL 分发点创建的计算机和共享名。 例如, \\app\cdp$\ (不要忘记尾随向后斜杠)
  5. “变量”列表中选择“<CaName>”,然后选择“插入”。 从“变量”列表中选择“<CRLNameSuffix>”,然后选择“插入”。 从“变量”列表中选择“<DeltaCRLAllowed>”,然后选择“插入
  6. 在“位置”中文本末尾键入.crl 。 选择 “确定”
  7. 选择刚刚创建的 CDP 发布位置。
  8. 选择“ 将 CRL 发布到此位置”
  9. 选择“ 将增量 CRL 发布到此位置”
  10. 选择“ 应用 ”,保存所选内容。 当要求重启服务时,选择 “是 ”。 选择 “确定” 关闭“属性”对话框

发布新 CRL

  1. 在证书颁发机构上,作为本地管理员登录。 从管理工具启动证书颁发机构控制台
  2. 在导航窗格中,右键单击“ 吊销的证书”,将鼠标悬停在“ 所有任务”上,然后选择“ 发布发布新 CRL”。
  3. “发布 CRL ”对话框中,选择“ 新建 CRL ”,然后选择“ 确定”

验证 CDP 发布

验证新的 CRL 分发点是否正常工作。

  1. 打开 Web 浏览器。 导航到 http://crl.[yourdomain].com/cdp。 应会看到发布新 CRL 时创建的两个文件 验证新 CRL。

重新颁发域控制器证书

使用基于 HTTP 的有效 CRL 分发点正确配置 CA 后,需要向域控制器重新颁发证书,因为旧证书没有更新的 CRL 分发点。

  1. 使用管理凭据登录域控制器
  2. 打开“运行”对话框。 键入 certlm.msc 以打开本地计算机的证书管理器
  3. 在导航窗格中,展开“个人”。 选择“ 证书”。 在详细信息窗格中,选择“预期用途证书管理器个人存储区”列表中包含 KDC 身份验证的现有域控制器证书。
  4. 右击选定的证书。 将鼠标悬停在 “所有任务” 上,然后选择“ 使用新密钥续订证书...”。在 “证书注册 ”向导中,选择“ 下一次使用新密钥续订”。
  5. 在向导的“请求证书”页面中,确认所选证书有正确的证书模板,并确保状态可用。 选择 “注册”
  6. 注册完成后,选择“ 完成 ”以关闭向导
  7. 在所有域控制器上重复此过程

注意

可以将域控制器配置为自动注册并续订证书。 自动证书注册有助于防止由于证书过期导致身份验证中断。 请参阅 Windows Hello 部署指南,以了解如何为域控制器部署自动证书注册。

重要提示

如果没有使用自动证书注册,请创建一个日历提醒以在证书过期日期前两个月提醒你。 将提醒发送给组织中的多个人,以确保一两个以上的人知道这些证书何时过期。

验证新证书中的 CDP

  1. 使用管理凭据登录域控制器

  2. 打开“运行”对话框。 键入 certlm.msc 以打开本地计算机的证书管理器

  3. 在导航窗格中,展开“个人”。 选择“ 证书”。 在详细信息窗格中,双击“预期用途”列表中的现有域控制器证书“包括 KDC 身份验证

  4. 选择“ 详细信息 ”选项卡。向下滚动列表,直到 CRL 分发点 在列表的 “字段” 列中可见。 选择 CRL 分发点

  5. 查看字段列表下的信息,确认证书中是否存在 CRL 分发点的新 URL。 选择 “确定”

    具有更新的 CDP 的新证书。

将根 CA 证书部署到已加入Microsoft Entra设备

域控制器具有包含新 CRL 分发点的证书。 接下来,需要企业根证书,以便将其部署到已加入Microsoft Entra设备。 将企业根证书部署到设备时,可确保设备信任证书颁发机构颁发的任何证书。 如果没有证书,加入Microsoft Entra设备不信任域控制器证书,身份验证将失败。

导出企业根证书

  1. 使用管理凭据登录域控制器
  2. 打开“运行”对话框。 键入 certlm.msc 以打开本地计算机的证书管理器
  3. 在导航窗格中,展开“个人”。 选择“ 证书”。 在详细信息窗格中,双击“预期用途”列表中的现有域控制器证书“包括 KDC 身份验证
  4. 选择“ 认证路径 ”选项卡。在 “证书路径 ”视图中,选择最上面的节点,然后选择“ 查看证书证书路径”。
  5. 在“新建 证书 ”对话框中,选择“ 详细信息 ”选项卡。选择“ 复制到文件详细信息”选项卡,然后复制到文件。
  6. “证书导出向导”中,选择“下一步
  7. 在向导的“导出文件格式”页上,选择“下一步
  8. 在向导的“ 要导出的文件 ”页上,键入根证书的名称和位置,然后选择“ 下一步”。 选择 “完成 ”,然后选择“ 确定” 以关闭成功对话框 “导出根证书”。
  9. 选择 “确定” 两次以返回到本地计算机的 证书管理器 。 关闭 证书管理器

通过 Intune 部署证书

若要使用Microsoft Intune配置设备,请使用自定义策略:

  1. 转到Microsoft Intune管理中心
  2. 选择“设备>配置文件”Create > 配置文件
  3. 选择“平台>Windows 8.1及更高版本”,然后选择“配置文件”类型>“”受信任的证书”
  4. 选择Create
  5. “配置设置”中,选择文件夹图标并浏览企业根证书文件。 选择文件后,选择“打开”将其上传到Intune
  6. “目标存储” 下拉列表下,选择“ 计算机证书存储 - 根”
  7. 选择“ 下一步”
  8. “分配”下,选择一个安全组,其中包含要配置>“下一步”的设备或用户作为成员
  9. 查看策略配置并选择“Create

如果计划将证书用于本地单一登录,请按照使用证书以进行 AADJ 本地单一登录中的说明执行附加步骤。 否则,可以使用Windows Hello 企业版登录到已加入Microsoft Entra的设备,并测试本地资源的 SSO。