使用证书Microsoft Entra加入本地单一登录

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


如果计划使用证书进行本地单一登录,请遵循以下附加步骤配置环境,以便为已加入Microsoft Entra的设备注册Windows Hello 企业版证书。

重要提示

在继续操作之前,请确保已在已加入Microsoft Entra本地 Single-Sign 启用的设备上执行配置。

你将执行的步骤包括:

要求

必须安装并配置其他基础结构,以便为已加入Microsoft Entra的设备提供本地单一登录。

  • 现有的 Windows Server 企业证书颁发机构
  • 托管网络设备注册服务 (NDES) 角色的已加入域的 Windows Server

高可用性

NDES 服务器角色充当 CRA) (证书注册机构。 证书注册服务器代表用户注册证书。 用户从 NDES 服务而不是直接从颁发证书颁发机构请求证书。

NDES 服务器的体系结构阻止其群集化或负载均衡以实现高可用性。 若要提供高可用性,需要安装多个配置相同的 NDES 服务器,并使用Microsoft Intune进行负载均衡,然后以轮循机制方式 () 。

网络设备注册服务 (NDES) 服务器角色最多可以颁发三个唯一的证书模板。 服务器角色通过将证书请求的用途映射到配置的证书模板来实现此目的。 证书请求用途有三个选项:

  • 签名
  • 加密
  • 签名和加密

如果需要将三种类型的证书部署到已加入Microsoft Entra的设备,则需要其他 NDES 服务器。 或者,请考虑合并证书模板以减少证书模板的数量。

网络要求

所有通信都通过端口 443 安全进行。

准备Microsoft Entra连接

使用证书成功对本地资源进行身份验证需要证书提供有关本地域的提示。 提示可以是用户的 Active Directory 可分辨名称作为证书的主题,也可以是用户的用户主体名称,其中后缀与 Active Directory 域名匹配。

大多数环境都会更改用户主体名称后缀,使其与组织的外部域名 (或虚域) 匹配,从而阻止用户主体名称作为定位域控制器的提示。 因此,证书需要在主题中使用用户的本地可分辨名称来正确定位域控制器。

若要在证书使用者中包含本地可分辨名称,Microsoft Entra Connect 必须将 Active Directory distinguishedName 属性复制到Microsoft Entra ID onPremisesDistinguishedName 属性。 Microsoft Entra Connect 版本 1.1.819 包括这些属性所需的适当同步规则。

验证 Microsoft Entra Connect 版本

登录到运行 Microsoft Entra Connect 的计算机,其访问权限相当于本地管理员

  1. Microsoft Entra Connect 文件夹中打开同步服务
  2. “同步Service Manager,选择”帮助“,然后选择”关于”。
  3. 如果版本号不是 1.1.819 或更高版本,请升级Microsoft Entra连接到最新版本。

验证 onPremisesDistinguishedName 属性是否已同步

验证 onPremisesDistingushedNamne 属性是否同步的最简单方法是将 Graph 资源管理器用于Microsoft Graph。

  1. 打开 Web 浏览器并导航到 Graph 资源管理器

  2. 选择“登录到 Graph 资源管理器”并提供Microsoft Entra ID凭据。

    注意

    若要成功查询图形 API,必须授予足够的权限

  3. 选择“修改权限” (预览) 。 向下滚动并找到 User.Read.All (或任何其他必需的权限) ,然后选择“ 同意”。 现在系统会提示你提供委派权限同意

  4. 在 Graph 资源管理器 URL 中,输入 https://graph.microsoft.com/v1.0/users/[userid]?$select=displayName,userPrincipalName,onPremisesDistinguishedName,其中 [userid] 是 Microsoft Entra ID 用户的用户主体名称。 选择 “运行查询”。

    注意

    由于 图形 API 的 v1.0 终结点仅提供一组有限的参数,因此我们将使用 $select Optional OData 查询参数。 为方便起见,在执行查询之前,可以将 API 版本选择器从 v1.0 切换到 beta 版本。 这将提供所有可用的用户信息,但请记住,不应在生产方案中使用 beta 终结点 查询。

    请求

    GET https://graph.microsoft.com/v1.0/users/{id | userPrincipalName}?$select=displayName,userPrincipalName,onPremisesDistinguishedName
    
  5. 在返回的结果中,查看 onPremisesDistinguishedName 属性的 JSON 数据。 确保属性具有值,并且该值对于给定用户是准确的。 如果 onPremisesDistinguishedName 属性未同步,则值将为 null

    响应

    HTTP/1.1 200 OK
    Content-type: application/json
    
    {
        "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(displayName,userPrincipalName,onPremisesDistinguishedName)/$entity",
        "displayName": "Nestor Wilke",
        "userPrincipalName": "NestorW@contoso.com",
        "onPremisesDistinguishedName" : "CN=Nestor Wilke,OU=Operations,DC=contoso,DC=com"
    }
    

(NDES) 服务帐户准备网络设备注册服务

创建 NDES 服务器全局安全组

部署使用 NDES 服务器 安全组为 NDES 服务分配适当的用户权限分配。

登录到具有等效于 域管理员访问权限的域控制器或管理工作站。

  1. 打开 Active Directory 用户和计算机
  2. 在导航窗格中,展开域节点。
  3. 右键单击用户容器。 将鼠标悬停在 “新建 ”上,然后选择“ ”。
  4. “组名称”文本框中键入“NDES 服务器”。
  5. 选择“确定”

将 NDES 服务器添加到 NDES 服务器全局安全组

登录到具有等效于 域管理员访问权限的域控制器或管理工作站。

  1. 打开 Active Directory 用户和计算机

  2. 在导航窗格中,展开域节点。

  3. 从导航窗格中选择“ 计算机 ”。 右键单击将托管 NDES 服务器角色的 NDES 服务器的名称。 选择“ 添加到组”。

  4. “输入要选择的对象名称”中键入“NDES 服务器”。 选择“确定”。 在“Active Directory 域服务成功”对话框中选择“确定”。

    注意

    若要实现高可用性,应有多个 NDES 服务器来为Windows Hello 企业版证书请求提供服务。 应将其他Windows Hello 企业版 NDES 服务器添加到此组,以确保它们接收正确的配置。

创建 NDES 服务帐户

网络设备注册服务 (NDES) 角色在服务帐户下运行。 通常,最好使用组托管服务帐户 (GMSA) 运行服务。 虽然可以将 NDES 角色配置为使用 GMSA 运行,但Intune证书连接器不是使用 GMSA 进行设计和测试的,因此被视为不支持的配置。 部署使用普通服务帐户。

登录到具有等效于 域管理员访问权限的域控制器或管理工作站。

  1. 在导航窗格中,展开具有域名的节点。 选择用户
  2. 右键单击用户容器。 将鼠标悬停在 “新建 ”上,然后选择“ 用户”。 在“全名”“用户登录名”中键入 NDESSvc。 选择下一步
  3. 在“ 密码”中键入安全密码。 在确认密码中 确认安全密码。 清除用户下次登录时须更改密码。 选择下一步
  4. 选择“ 完成”。

重要提示

将服务的帐户密码配置为 “密码永不过期” 可能更方便,但存在安全风险。 正常服务帐户密码应根据组织用户密码过期策略过期。 创建提醒,在服务帐户密码过期前两周更改。 与允许更改密码的其他人共享提醒,以确保密码在过期前更改。

组策略 对象创建 NDES 服务用户权限

组策略 对象确保 NDES 服务帐户具有分配 NDES 服务器组中所有 NDES 服务器的适当用户权限。 将新的 NDES 服务器添加到环境和此组时,服务帐户会自动通过组策略接收适当的用户权限。

使用域管理员等效凭据登录域控制器或管理工作站。

  1. 启动组策略管理控制台 (gpmc.msc)

  2. 展开域,在导航窗格中选择组策略对象节点。

  3. 右键单击组策略对象,然后选择新建

  4. 在名称框中键入 NDES 服务权限 ,然后选择 “确定”。

  5. 在内容窗格中,右键单击“NDES 服务权限”组策略对象,然后选择“编辑”。

  6. 在导航窗格中,展开计算机配置下的策略

  7. 展开 “Windows 设置”“ > 安全设置”“ > 本地策略”。 选择“ 用户权限分配”。

  8. 在内容窗格中,双击“ 允许本地登录”。 选择 “定义这些策略设置 ”,然后选择“ 确定”。 选择 “添加用户或组...”。在 “添加用户或组 ”对话框中,选择“ 浏览”。 在“选择用户、计算机、服务帐户或组”对话框中,键入“管理员”;备份运算符;DOMAINNAME\NDESSvc;其中DOMAINNAME 是域的 NetBios 名称的用户 (用户和组名称中的示例 CONTOSO\NDESSvc) 。 选择 “确定” 两次。

  9. 在内容窗格中,双击“ 作为批处理作业登录”。 选择 “定义这些策略设置 ”,然后选择“ 确定”。 选择 “添加用户或组...”。在 “添加用户或组 ”对话框中,选择“ 浏览”。 在“选择用户、计算机、服务帐户或组”对话框中,键入“管理员”;备份运算符;DOMAINNAME\NDESSvc;性能日志用户,其中 DOMAINNAME 是域的 NetBios 名称 (示例 CONTOSO\NDESSvc) 用户和组名称。 选择 “确定” 两次。

  10. 在内容窗格中,双击“ 作为服务登录”。 选择 “定义这些策略设置 ”,然后选择“ 确定”。 选择 “添加用户或组...”。在 “添加用户或组 ”对话框中,选择“ 浏览”。 在“选择用户、计算机、服务帐户或组”对话框中,键入 NT SERVICE\ALL SERVICES;DOMAINNAME\NDESSvc 其中 DOMAINNAME 是域的 NetBios 名称 (用户和组名称中的示例 CONTOSO\NDESSvc) 。 选择 “确定” 三次。

  11. 关闭组策略管理编辑器

配置 NDES 服务用户权限组策略 对象的安全性

部署 NDES 服务用户权限组策略对象的最佳方法是使用安全组筛选。 这样,可以通过将组策略设置添加到组来轻松管理接收组策略设置的计算机。

登录到具有等效于 域管理员访问权限的域控制器或管理工作站。

  1. 启动组策略管理控制台 (gpmc.msc)。
  2. 展开域,在导航窗格中选择组策略对象节点。
  3. 双击 NDES 服务用户权限组策略 对象。
  4. 在内容窗格的“ 安全筛选 ”部分中,选择“ 添加”。 键入 “NDES 服务器” 或之前创建的安全组的名称,然后选择“ 确定”。
  5. 选择“ 委派 ”选项卡。选择“ 经过身份验证的用户 ”,然后选择“ 高级”。
  6. 组或用户名列表中,选择经过身份验证的用户。 在经过身份验证的用户列表中,清除应用组策略权限的允许复选框。 选择 “确定”

组策略 对象部署 NDES 服务用户权限

NDES 服务用户权限组策略对象的应用程序使用安全组筛选。 这使你可以链接域中的 组策略 对象,确保组策略 对象在所有计算机的范围内。 但是,安全组筛选可确保仅 NDES 服务器全局安全组中包含的计算机接收并应用 组策略 对象,从而为 NDESSvc 服务帐户提供适当的用户权限。

登录到具有等效于 域管理员访问权限的域控制器或管理工作站。

  1. 启动组策略管理控制台(gpmc.msc)
  2. 在导航窗格中,展开域,右键单击具有 Active Directory 域名的节点,然后选择“链接现有 GPO
  3. “选择 GPO”对话框中,选择“NDES 服务用户权限”或之前创建的组策略对象的名称,然后选择“确定”

重要提示

NDES 服务用户权限组策略对象链接到域可确保组策略对象位于所有计算机的范围内。 但是,并非所有计算机都会应用策略设置。 只有 属于 NDES 服务器 全局安全组成员的计算机才会收到策略设置。 所有其他计算机都忽略 组策略 对象。

准备 Active Directory 证书颁发机构

必须准备公钥基础结构和证书颁发机构,以支持使用 Microsoft Intune 和网络设备注册服务 (NDES) 服务器角色颁发证书。 在此任务中,你将

  • 配置证书颁发机构以允许Intune提供有效期
  • 创建 NDES-Intune 身份验证证书模板
  • 创建Microsoft Entra联接Windows Hello 企业版身份验证证书模板
  • 发布证书模板

配置证书颁发机构以允许Intune提供有效期

使用 Microsoft Intune 部署证书时,可以选择在 SCEP 证书配置文件中提供有效期,而不是依赖于证书模板中的有效期。 如果需要颁发具有不同有效期的相同证书,则使用 SCEP 配置文件可能很有利,因为单个 NDES 服务器可以颁发的证书数有限。

注意

如果不想启用Microsoft Intune指定证书的有效期,请跳过此步骤。 如果没有此配置,证书请求将使用证书模板中配置的有效期。

使用等效于 本地管理员的访问权限登录到颁发证书颁发机构。

  1. 打开提升的命令提示符并键入以下命令:

    certutil -setreg Policy\EditFlags +EDITF_ATTRIBUTEENDDATE
    
  2. 重启 Active Directory 证书服务 服务

创建 NDES-Intune 身份验证证书模板

NDES 使用服务器身份验证证书对服务器终结点进行身份验证,这会加密服务器终结点与连接客户端之间的通信。 Intune证书连接器使用客户端身份验证证书模板向证书注册点进行身份验证。

使用域管理员等效凭据登录到颁发证书颁发机构或管理工作站。

  1. 打开证书颁发机构管理控制台。

  2. 右键单击“ 证书模板 ”,然后选择“ 管理”。

  3. “证书模板控制台”中,右键单击详细信息窗格中 的“计算机 ”模板,然后选择“ 复制模板”。

  4. 在“常规”选项卡上,在“模板显示名称”中键入“NDES-Intune身份验证”。 调整有效期和续订期以满足你的企业的需求。

    注意

    如果使用不同的模板名称,则需要记住并在实验室的不同部分中替换这些名称。

  5. 在“ 主题 ”选项卡上,在 请求中选择“提供”。

  6. 在“ 加密 ”选项卡上,验证 “最小密钥大小 ”是否为 2048

  7. 在“ 安全性 ”选项卡上,选择“ 添加”。

  8. 选择“ 对象类型”,然后在出现的窗口中,选择“ 计算机 ”,然后选择“ 确定”。

  9. “输入要选择的对象名称”文本框中键入“NDES 服务器”,然后选择“确定”。

  10. “组或用户名”列表中选择“NDES 服务器”。 在“权限”部分中,选择“注册”权限的“允许检查”框。 如果尚未清除检查框,则清除“组或用户名”列表中所有其他项目的“注册自动注册权限”框的“允许检查”。 选择“确定”

  11. 选择“ 应用 ”以保存更改并关闭控制台。

创建Microsoft Entra联接Windows Hello 企业版身份验证证书模板

在Windows Hello 企业版预配期间,Windows 从Microsoft Intune请求身份验证证书,后者代表用户请求身份验证证书。 该任务配置 Windows Hello 企业版身份验证证书模板。 配置 NDES 服务器时,请使用证书模板的名称。

使用域管理员等效凭据登录证书颁发机构或管理工作站。

  1. 打开证书颁发机构管理控制台。

  2. 右键单击“ 证书模板 ”,然后选择“ 管理”。

  3. 右键单击智能卡登录模板,然后选择复制模板

  4. 兼容性选项卡上,清除显示产生的变化复选框。 从证书颁发机构列表中选择 Windows Server 2012Windows Server 2012 R2。 从“证书收件人”列表中选择“Windows Server 2012”或“Windows Server 2012 R2”。

  5. 在“常规”选项卡上,在“模板显示名称”中键入 ENTRA JOINED WHFB 身份验证。 调整有效期和续订期以满足你的企业的需求。

    注意

    如果使用不同的模板名称,则需要记住并在部署的不同部分中替换这些名称

  6. 加密选项卡上,从提供程序类别中选择密钥存储提供程序。 从算法名称列表中选择 RSA。 在最小密钥大小文本框中键入 2048。 从请求哈希列表中选择 SHA256

  7. 扩展选项卡上,验证应用程序策略扩展包括智能卡登录

  8. 在“ 主题 ”选项卡上,在 请求中选择“提供”。

  9. 在“请求处理”选项卡上,从“用途”列表中选择“签名和加密”。 选择“使用相同的密钥检查续订”框。 选择 “注册主题”,无需任何用户输入

  10. 在“ 安全性 ”选项卡上,选择“ 添加”。 在“输入要选择的对象名称”文本框中键入 NDESSvc,然后选择“确定”。

  11. “组或用户名”列表中选择“NDESSvc”。 在“NDES 服务器的权限”部分中,选中“读取注册”的“允许检查”框。 如果尚未清除检查框,请清除“组或用户名”部分中所有其他条目的注册自动注册权限的“允许检查”框。 选择“确定”

  12. 关闭控制台。

发布证书模板

证书颁发机构只能颁发已发布到证书颁发机构的证书模板的证书。 如果你有多个证书颁发机构,并且需要证书颁发机构根据特定证书模板颁发证书,则你必须将证书模板发布到预期将颁发证书的所有证书颁发机构。

重要提示

确保将 ENTRA JOINED WHFB 身份验证证书模板发布到Microsoft Intune通过 NDES 服务器使用的证书颁发机构。 NDES 配置要求你选择从中请求证书的证书颁发机构。 需要将证书模板发布到该证书颁发机构。 NDES-Intune 身份验证证书是直接注册的,可以发布到任何证书颁发机构。

使用 企业管理员 等效凭据登录到证书颁发机构或管理工作站。

  1. 打开证书颁发机构管理控制台
  2. 从导航窗格中展开父节点
  3. 在导航窗格中选择 “证书模板
  4. 右键单击证书模板节点。 选择 “新建”,然后选择“ 证书模板 ”以颁发
  5. “启用证书模板”窗口中,选择在前面步骤中创建的 NDES-Intune 身份验证ENTRA JOINED WHFB 身份验证模板。 选择 “确定” ,将所选证书模板发布到证书颁发机构
  6. 关闭控制台

安装和配置 NDES 角色

本节包括下列文章:

  • 安装网络设备注册服务角色
  • 配置 NDES 服务帐户
  • 配置 NDES 角色和证书模板
  • 为内部 NDES URL 创建 Web 应用程序代理
  • 注册 NDES-Intune 身份验证证书
  • 为 NDES 配置 Web 服务器证书
  • 验证配置

安装网络设备注册服务角色

在颁发证书颁发机构以外的计算机上安装网络设备注册服务角色。

使用企业版管理员等效凭据登录到证书颁发机构或管理工作站。

  1. 在 NDES 服务器上打开服务器管理器

  2. 选择“ 管理”。 选择“添加角色和功能

  3. “添加角色和功能向导”的“ 开始之前 ”页上,选择“ 下一步”。 在“选择安装类型”页上选择“基于角色或基于功能的安装”。 选择下一步 。 选择“ 从服务器池中选择服务器”。 从“ 服务器池 ”列表中选择本地服务器。 选择“ 下一步”

    服务器管理器目标服务器。

  4. “选择服务器角色”页上,从“角色”列表中选择“Active Directory 证书服务

    服务器管理器 AD CS 角色。

    “添加角色和功能向导”对话框中选择“添加功能”。 选择“ 下一步”

    服务器管理器添加功能。

  5. “功能”页上,展开“.NET Framework 3.5 功能”。 选择“ HTTP 激活”。 在“添加角色和功能向导”对话框中选择“添加功能”。 展开 .NET Framework 4.5 功能。 展开 “WCF 服务”。 选择“ HTTP 激活”。 在“添加角色和功能向导”对话框中选择“添加功能”。 选择“ 下一步”

    服务器管理器功能 HTTP 激活。

  6. “选择角色服务”页上,清除“证书颁发机构检查”框。 选择 “网络设备注册服务”。 在“添加角色和功能向导”对话框中选择“添加功能”。 选择“ 下一步”

    服务器管理器 ADCS NDES 角色。

  7. “Web 服务器角色 (IIS) ”页上选择“下一步

  8. 在“Web 服务”角色的“选择角色服务”页上,选择以下附加服务(如果尚未选择),然后选择“下一步

    • Web 服务器 > 安全 > 请求筛选
    • Web 服务器 > 应用程序开发 > ASP.NET 3.5
    • Web 服务器 > 应用程序开发 > ASP.NET 4.5
    • 管理工具 > IIS 6 管理兼容性 > IIS 6 元数据库兼容性
    • 管理工具 > IIS 6 管理兼容性 > IIS 6 WMI 兼容性

    服务器管理器 Web 服务器角色。

  9. 选择“ 安装”。 安装完成后,继续执行下一过程。 不要单击“关闭”

    重要提示

    .NET Framework 3.5 未包含在典型安装中。 如果服务器已连接到 Internet,则安装会尝试使用 Windows 更新 获取文件。 如果服务器未连接到 Internet,则需要 指定备用源路径 ,例如 <driveLetter>:\Sources\SxS\

    .NET 并排。

配置 NDES 服务帐户

此任务将 NDES 服务帐户添加到本地IIS_USRS组。 该任务还会为 Kerberos 身份验证和委派配置 NDES 服务帐户

将 NDES 服务帐户添加到IIS_USRS组

使用等效于 本地管理员的访问权限登录 NDES 服务器。

  1. 启动本地用户和组管理控制台 (lusrmgr.msc)
  2. 从导航窗格中选择“组”。 双击IIS_IUSRS组
  3. “IIS_IUSRS属性 ”对话框中,选择“ 添加”。 键入 NDESSvc 或 NDES 服务帐户的名称。 选择“ 检查名称” 以验证名称,然后选择“ 确定”。 选择 “确定” 关闭“属性”对话框
  4. 关闭管理控制台。

在 NDES 服务帐户上注册服务主体名称

使用等效于 域管理员的访问权限登录 NDES 服务器。

  1. 打开提升的命令提示符

  2. 键入以下命令以注册服务主体名称

    setspn -s http/[FqdnOfNdesServer] [DomainName\\NdesServiceAccount]
    

    其中 [FqdnOfNdesServer] 是 NDES 服务器的完全限定域名, [DomainName\NdesServiceAccount] 是由反斜杠 (\) 分隔的域名和 NDES 服务帐户名称。 命令的示例如下所示:

    setspn -s http/ndes.corp.contoso.com contoso\ndessvc
    

注意

如果对多个 NDES 服务器使用相同的服务帐户,请对运行 NDES 服务的每个 NDES 服务器重复以下任务。

设置 SPN 命令提示符。

为委派配置 NDES 服务帐户

NDES 服务代表用户注册证书。 因此,你需要限制它可以代表用户执行的操作。 可通过委派执行此操作。

使用相当于 域管理员的最低访问权限登录域控制器。

  1. 打开 Active Directory 用户和计算机

  2. 找到 NDES 服务帐户 (NDESSvc) 。 右键单击并选择“ 属性”。 选择“ 委派 ”选项卡。

    “NDES 委派”选项卡。

  3. 选择“仅信任此用户以委派指定服务

  4. 选择“ 使用任何身份验证协议”

  5. 选择 “添加”

  6. 选择“用户或计算机...”键入用于向已加入Microsoft Entra设备颁发Windows Hello 企业版身份验证证书的 NDES 服务器的名称。 从 “可用服务 ”列表中,选择“ 主机”。 选择 “确定”

    NDES 服务委托给 NDES 主机。

  7. 使用此服务帐户的每个 NDES 服务器重复步骤 5 和 6。 选择 “添加”

  8. 选择“用户或计算机...”键入此 NDES 服务帐户用于向已加入Microsoft Entra设备颁发Windows Hello 企业版身份验证证书的颁发证书颁发机构的名称。 从 “可用服务 ”列表中,选择“ dcom”。 按住 Ctrl 键并选择“ 主机”。 选择 “确定”

  9. 对一个或多个 NDES 服务器请求证书的每个颁发证书颁发机构重复步骤 8 和 9

    NDES 服务委托已完成。

  10. 选择“确定”。 关闭Active Directory 用户和计算机

配置 NDES 角色和证书模板

此任务配置 NDES 服务器颁发的 NDES 角色和证书模板。

配置 NDES 角色

使用企业版管理员等效凭据登录到证书颁发机构或管理工作站。

注意

如果关闭了最后一组任务中的服务器管理器,请启动服务器管理器并单击显示黄色感叹号的操作标志。

服务器管理器安装后黄色标志。

  1. 目标服务器上选择“配置 Active Directory 证书服务” 链接

  2. “凭据” 页上,选择“ 下一步”。

    NDES 安装凭据。

  3. “角色服务”页上,选择“网络设备注册服务”,然后选择“下一步

    NDES 角色服务。

  4. 在“ NDES 服务帐户 ”页上,选择“ 指定 (建议) 的服务帐户 。 选择“选择...”。在“Windows 安全中心”对话框中键入 NDES 服务帐户的用户名和密码。 选择“ 下一步”

    NDES 的 NDES 服务帐户。

  5. “NDES CA ”页上,选择“ CA 名称”。 选择 “选择...”。选择 NDES 服务器从中请求证书的颁发证书颁发机构。 选择“ 下一步”

    NDES CA 选择。

  6. “RA 信息”上,选择“下一步

  7. “NDES 加密”页上,选择“下一步

  8. 查看 “确认 ”页。 选择 “配置”

    NDES 确认。

  9. 配置完成后,选择“关闭”

在 NDES 上配置证书模板

单个 NDES 服务器最多可以请求三个证书模板。 NDES 服务器根据Microsoft Intune SCEP 证书配置文件中分配的传入证书请求确定要颁发的证书。 Microsoft Intune SCEP 证书配置文件具有三个值。

  • 数字签名
  • 密钥加密
  • 密钥加密、数字签名

每个值映射到 NDES 服务器中的注册表值名称。 NDES 服务器将传入 SCEP 提供的值转换为相应的证书模板。 下表显示了 NDES 证书模板注册表值名称的 SCEP 配置文件值。

SCEP 配置文件密钥使用情况 NDES 注册表值名称
数字签名 SignatureTemplate
密钥加密 EncryptionTemplate
密钥加密
数字签名
GeneralPurposeTemplate

理想情况下,应将证书请求与注册表值名称匹配,以保持配置直观 (加密证书使用加密模板、签名证书使用签名模板等 ) 。 这种直观的设计结果是 NDES 服务器的潜在指数增长。 假设一个组织需要在整个企业中颁发 9 个唯一签名证书。

如果需要,可以在加密注册表值名称中配置签名证书,或者在签名注册表值中配置加密证书,以最大程度地使用 NDES 基础结构。 这种非直观的设计需要配置的最新和准确的文档,以确保将 SCEP 证书配置文件配置为注册正确的证书,而不管实际用途如何。 每个组织都需要平衡配置和管理的便利性与附加的 NDES 基础结构以及随之而来的管理开销。

使用 本地管理员 等效凭据登录到 NDES 服务器。

  1. 打开提升的命令提示符

  2. 使用上表,确定将用于为已加入Microsoft Entra的设备请求Windows Hello 企业版身份验证证书的注册表值名称

  3. 键入下列命令:

    reg add HKLM\Software\Microsoft\Cryptography\MSCEP /v [registryValueName] /t REG_SZ /d [certificateTemplateName]
    

    其中 registryValueName 是上表中的三个值名称之一,其中 certificateTemplateName 是为Windows Hello 企业版 Microsoft Entra联接的设备创建的证书模板的名称。 示例:

    reg add HKLM\Software\Microsoft\Cryptography\MSCEP /v SignatureTemplate /t REG_SZ /d ENTRAJOINEDWHFBAuthentication
    
  4. 当命令要求提供覆盖现有值的权限时,请键入 Y

  5. 关闭命令提示符。

重要提示

使用证书模板 的名称 ;不是 显示名称。 证书模板名称不包含空格。 可以通过查看证书模板管理控制台 () 中证书模板属性的“常规”选项卡来查看证书certtmpl.msc 名称。

为内部 NDES URL 创建 Web 应用程序代理。

Microsoft Entra联接设备的证书注册通过 Internet 进行。 因此,内部 NDES URL 必须可从外部访问。 可以使用Microsoft Entra应用程序代理轻松安全地执行此操作。 Microsoft Entra应用程序代理为本地托管的 Web 应用程序(如网络设备注册服务)提供单一登录和安全远程访问。

理想情况下,请将Microsoft Intune SCEP 证书配置文件配置为使用多个外部 NDES URL。 这使Microsoft Intune能够对配置相同的 NDES 服务器的证书请求进行轮循机制均衡负载, (每个 NDES 服务器可以) 容纳大约 300 个并发请求。 Microsoft Intune将这些请求发送到Microsoft Entra应用程序代理。

Microsoft Entra应用程序代理由轻型应用程序代理连接器代理提供服务。 有关更多详细信息,请参阅什么是应用程序代理。 这些代理安装在已加入域的本地设备上,并且与 Azure 建立经过身份验证的安全出站连接,等待处理来自Microsoft Entra应用程序代理的请求。 可以在 Microsoft Entra ID 中创建连接器组,以将特定连接器分配给服务特定的应用程序。

连接器组自动轮循机制,将Microsoft Entra应用程序代理请求负载均衡到分配的连接器组中的连接器。 这可确保Windows Hello 企业版证书请求具有多个专用Microsoft Entra应用程序代理连接器,专用于满足注册请求。 负载均衡 NDES 服务器和连接器应确保用户及时注册其Windows Hello 企业版证书。

下载并安装 应用程序代理 连接器代理

使用等同于“域用户”的访问权限登录工作站。

  1. 至少以应用程序管理员身份访问Microsoft Entra 管理中心
  2. 选择“所有服务”。 键入Microsoft Entra ID以筛选服务列表。 在“服务”下,选择“Microsoft Entra ID
  3. “管理”下,选择“应用程序代理
  4. 选择 “下载连接器服务”。 选择“ 接受条款 & 下载”。 将文件 (AADApplicationProxyConnectorInstaller.exe) 保存在域Azure 应用程序代理连接器上其他人可访问的位置。
  5. 使用与域用户等效的访问权限登录将运行连接器的计算机

    重要提示

    为每个 NDES 应用程序代理安装至少两个Microsoft Entra ID代理连接器。 在整个组织中战略性地定位Microsoft Entra应用程序代理连接器,以确保最大可用性。 请记住,运行连接器的设备必须能够与 Azure 和本地 NDES 服务器通信

  6. 启动 AADApplicationProxyConnectorInstaller.exe
  7. 阅读许可条款,然后选择“ 我同意许可条款和条件”。 选择“安装Azure 应用程序代理连接器:许可条款
  8. 以应用程序管理员身份登录Azure 应用程序代理连接器:登录
  9. 安装完成后。 阅读有关出站代理服务器的信息。 选择“关闭Azure 应用程序代理连接器:读取
  10. 对将运行Microsoft Entra应用程序代理连接器的每个设备重复步骤 5 - 10,以便Windows Hello 企业版证书部署

创建连接器组

使用等同于“域用户”的访问权限登录工作站。

  1. 至少以应用程序管理员身份访问Microsoft Entra 管理中心

  2. 选择“所有服务”。 键入Microsoft Entra ID以筛选服务列表。 在“服务”下,选择“Microsoft Entra ID

  3. “管理”下,选择“ 应用程序代理”。

    Azure 应用程序代理连接器组。

  4. 选择“ 新建连接器组”。 在 “名称”下,键入 “NDES WHFB 连接器”。

    Azure 应用程序新的连接器组。

  5. 在“连接器”列表中选择将Windows Hello 企业版证书注册请求提供服务的每个连接器代理

  6. 选择保存

创建Azure 应用程序代理

使用等同于“域用户”的访问权限登录工作站。

  1. 至少以应用程序管理员身份访问Microsoft Entra 管理中心

  2. 选择“所有服务”。 键入Microsoft Entra ID以筛选服务列表。 在“服务”下,选择“Microsoft Entra ID

  3. “管理”下,选择“应用程序代理

  4. 选择“配置应用

  5. “名称”旁边的“基本设置”下,键入“WHFB NDES 01”。 选择将此Microsoft Entra应用程序代理设置与本地 NDES 服务器关联的名称。 每个 NDES 服务器必须有自己的Microsoft Entra应用程序代理,因为两个 NDES 服务器不能共享相同的内部 URL

  6. 在“内部 URL”旁边,键入与此Microsoft Entra应用程序代理关联的 NDES 服务器的内部完全限定 DNS 名称。 例如,https://ndes.corp.mstepdemo.net。 需要将 NDES 服务器的主主机名 (AD 计算机帐户名称) 匹配,并在 URL 前面加上 https

  7. 在“ 内部 URL”下,从第一个列表中选择 “https:// ”。 在 https:// 旁边的文本框中,键入要用作Microsoft Entra应用程序代理的外部主机名的主机名。 在键入的主机名旁边的列表中,选择要在外部用于Microsoft Entra应用程序代理的 DNS 后缀。 建议使用默认的 -[tenantName].msapproxy.net,其中 [tenantName] 是当前Microsoft Entra租户名称 (-mstephendemo.msappproxy.net) 。

    Azure NDES 应用程序代理配置。

  8. 从“预身份验证”列表中选择“直通”

  9. 从连接器列表中选择 NDES WHFB 连接器

  10. “其他设置”下,从“后端应用程序超时”中选择“默认”。 在“翻译 URL 位于”部分下,选择“标头”旁边的“”,然后选择“应用程序正文”旁边的“

  11. 选择 “添加”

  12. 注销 Azure 门户。

    重要提示

    记下内部和外部 URL。 注册 NDES-Intune 身份验证证书时,将需要此信息。

注册 NDES-Intune 身份验证证书

此任务注册Intune连接器和 NDES 服务器使用的客户端和服务器身份验证证书。

使用等效于 本地管理员的访问权限登录 NDES 服务器。

  1. 启动本地计算机 证书管理器 (certlm.msc)

  2. 在导航窗格中展开 “个人 ”节点

  3. 右键单击个人。 选择“ 所有任务”请求新证书

  4. “开始前”页上选择“下一步

  5. 在“选择证书注册策略”页上选择下一步

  6. 在“请求证书”页上,选择“NDES-Intune身份验证检查”框

  7. 选择 “注册此证书需要更多信息”。单击此处以配置设置 链接

    “证书属性使用者”选项卡的示例 - 单击上述链接时会显示此内容。

  8. 使用者名称下,从类型列表中选择公用名。 键入上一个任务 (中使用的内部 URL,而不 https://,例如 ndes.corp.mstepdemo.net) ,然后选择“添加

  9. 备用名称下,从类型列表中选择 DNS。 键入上一个任务 (中使用的内部 URL,而不 https://,例如 ndes.corp.mstepdemo.net) 。 选择添加。 键入上一个任务 (中使用的外部 URL,而不 https://,例如 ,ndes-mstephendemo.msappproxy.net) 。 选择添加。 完成后选择“确定”

  10. 选择 “注册”

  11. 对用于为已加入Microsoft Entra的设备请求Windows Hello 企业版身份验证证书的所有 NDES 服务器重复这些步骤

配置 Web 服务器角色

此任务将 NDES 服务器上的 Web 服务器角色配置为使用服务器身份验证证书。

使用等效于 本地管理员的访问权限登录 NDES 服务器。

  1. 管理工具启动 Internet Information Services (IIS) Manager

  2. 展开具有 NDES 服务器名称的节点。 展开 “网站 ”,然后选择“ 默认网站”

    NDES IIS 控制台

  3. “操作”下选择“绑定...”。 选择添加

    NDES IIS 控制台:添加

  4. 从“类型”中选择“https”。 确认 端口 的值为 443

  5. 从 SSL 证书列表中选择以前注册的 证书 。 选择 “确定”

    NDES IIS 控制台:证书列表

  6. 从“网站绑定”列表中选择“http”。 选择 “删除”

  7. 在“网站绑定”对话框中选择“关闭

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

验证配置

此任务确认 NDES 服务器的 TLS 配置。

使用等效于 本地管理员的访问权限登录 NDES 服务器。

禁用 Internet Explorer 增强的安全配置

  1. 打开服务器管理器。 从导航窗格中选择 “本地服务器
  2. “属性”部分中选择“IE 增强的安全配置”旁边的“
  3. “Internet Explorer 增强的安全配置 ”对话框中的“ 管理员”下,选择“ 关闭”。 选择 “确定”
  4. 关闭服务器管理器

测试 NDES Web 服务器

  1. 打开 Internet Explorer

  2. 在导航栏中,键入

    https://[fqdnHostName]/certsrv/mscep/mscep.dll
    

    其中 [fqdnHostName] 是 NDES 服务器的完全限定的内部 DNS 主机名。

Web 浏览器中应显示如下所示的网页。 如果未看到类似的页面,或者收到 503 服务不可用 消息,请确保 NDES 服务帐户具有适当的用户权限。 还可以在应用程序事件日志中查看使用 NetworkDeviceEnrollmentService 源的事件。

NDES IIS 控制台:源

确认网站使用服务器身份验证证书。

NDES IIS 控制台:确认

配置网络设备注册服务以使用 Microsoft Intune

已成功配置网络设备注册服务。 现在必须修改配置才能使用 Intune 证书连接器。 在此任务中,你将启用 NDES 服务器和 http.sys 来处理长 URL。

  • 配置 NDES 以支持长 URL

配置 NDES 和 HTTP 以支持长 URL

使用等效于 本地管理员的访问权限登录 NDES 服务器。

配置默认网站

  1. 管理工具启动 Internet Information Services (IIS) Manager

  2. 展开具有 NDES 服务器名称的节点。 展开 “网站 ”,然后选择“ 默认网站”

  3. 在内容窗格中,双击“ 请求筛选”。 在操作窗格中选择“编辑功能设置...”

    Intune NDES 请求筛选。

  4. 选择 “允许未列出的文件扩展名”

  5. 选择 “允许未列出的谓词”

  6. 选择“允许高位字符

  7. 最大允许内容长度 (字节) 中键入 30000000

  8. “最大 URL 长度 (字节) ”中键入 65534

  9. “最大查询字符串 (字节数) ”中键入 65534

  10. 选择“确定”。 关闭 Internet Information Services (IIS) 管理器

配置 HTTP.SYS 的参数

  1. 打开提升的命令提示符

  2. 运行以下命令:

    reg add HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters /v MaxFieldLength /t REG_DWORD /d 65534
    reg add HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters /v MaxRequestBytes /t REG_DWORD /d 65534
    
  3. 重启 NDES 服务器

下载、安装和配置Intune证书连接器

Intune证书连接器应用程序使Microsoft Intune能够使用本地 PKI 为由 Microsoft Intune 管理的设备上的用户注册证书。

若要了解如何下载、安装和配置Intune证书连接器,请参阅安装用于Microsoft Intune的证书连接器

配置 NDES 连接器以吊销证书 (可选)

(可选) (不需要) ,可以在擦除设备、取消注册设备或证书配置文件超出目标用户范围时配置证书吊销Intune连接器, (删除用户或配置文件) 删除。 需要在连接器配置过程中选择 “证书吊销 ”选项,才能为从 Microsoft Active Directory 证书颁发机构颁发的证书启用自动证书吊销。 此外,需要启用 NDES 服务帐户进行吊销。

  1. 使用相当于域管理员的访问权限登录到 NDES 连接器使用的证书颁发机构

  2. 启动证书颁发机构管理控制台

  3. 在导航窗格中,右键单击证书颁发机构的名称,然后选择 “属性”

  4. 选择“ 安全性 ”选项卡,然后选择“ 添加”。 在 “输入要选择的对象名称 ”框中,输入 NDESSvc (或为 NDES 服务帐户) 的名称。 选择“ 检查名称”,然后选择“ 确定”。 从 组或用户名 列表中选择 NDES 服务帐户。 对于“颁发和管理证书”权限,请选择“允许”。 选择 “确定”

    配置Intune证书吊销 02。

  5. 关闭 证书颁发机构

(SCEP) 证书配置文件创建和分配简单证书注册协议

创建 ENTRA JOINED WHFB 证书用户组

使用等同于“域用户”的访问权限登录工作站。

  1. 至少以应用程序管理员身份访问Microsoft Entra 管理中心

  2. 选择“所有服务”。 键入Microsoft Entra ID以筛选服务列表。 在“服务”下,选择“Microsoft Entra ID

  3. 选择“组”。 选择 “新建组”

  4. “组类型”列表中选择“安全性”

  5. 在“ 组名称”下,键入组的名称。 例如, ENTRA JOINED WHFB 证书用户

  6. 提供 组说明(如果适用)

  7. “成员身份类型”列表中选择“已分配

    Microsoft Entra创建新组。

  8. 选择 “成员”。 使用“ 选择成员 ”窗格将成员添加到此组。 完成后,选择“ 选择”

  9. 选择创建

创建 SCEP 证书配置文件

使用等同于“域用户”的访问权限登录工作站。

  1. 登录到 Microsoft Intune 管理中心
  2. 选择 “设备”,然后选择“ 配置文件”
  3. 选择“ 创建配置文件”。 Intune设备配置创建配置文件。
  4. 平台列表中选择Windows 10及更高版本
  5. “配置文件”列表中选择“SCEP 证书”,然后选择“创建
  6. 应打开 SCEP 证书向导。 在 “名称”旁边,键入 “WHFB 证书注册”
  7. “说明”旁边,提供对你的环境有意义的说明,然后选择“下一步
  8. 选择 “用户 ”作为证书类型
  9. 配置 证书有效期 以匹配组织。

    重要提示

    请记住,需要配置证书颁发机构,以允许Microsoft Intune配置证书有效性

  10. 选择“注册以Windows Hello 企业版”,否则无法从 “密钥存储提供程序” (KSP ) 列表中 (Windows 10 及更高版本)
  11. “使用者名称格式”旁边,键入 “CN={{OnPrem_Distinguished_Name}}” ,使本地可分辨名称成为所颁发证书的主题

    注意

    如果可分辨名称包含特殊字符,如加号 (“+”) ,则逗号 (“、”) “、”分号 (“;”) 或等号 (“=”) ,括号内的名称必须用引号引起来: CN="{{OnPrem_Distinguished_Name}}"

    如果可分辨名称的长度超过 64 个字符, 则必须禁用证书颁发机构的名称长度强制实施。

  12. (UPN) 指定用户主体 名称作为使用者可选名称参数。 将其值设置为 {{UserPrincipalName}}
  13. 请参阅“在 NDES 上配置证书模板”任务,了解如何在注册表中配置 ENTRA JOINED WHFB 身份验证 证书模板。 从映射到注册表中配置的 NDES 模板的 “密钥用法”列表中选择相应的密钥用法 组合。 在此示例中, ENTRA JOINED WHFB 身份验证 证书模板已添加到 SignatureTemplate 注册表值名称中。 映射到该注册表值名称的 密钥用法数字签名
  14. 选择以前配置的 受信任证书 配置文件,该配置文件与颁发证书颁发机构的根证书匹配,作为配置文件的根证书
  15. “扩展密钥用法”下,在“名称”下键入“智能卡登录”。 在对象标识符下键入 1.3.6.1.4.1.311.20.2.2。 选择 “添加”
  16. “续订阈值 ”旁边键入一个百分比 (,) 不带百分比符号,以确定证书应何时尝试续订。 建议的值为 20WHFB SCEP 证书配置文件 EKU。
  17. “SCEP 服务器 URL”下,键入配置的Microsoft Entra应用程序代理的完全限定外部名称。 追加到名称 /certsrv/mscep/mscep.dll。 例如,https://ndes-mtephendemo.msappproxy.net/certsrv/mscep/mscep.dll。 选择添加。 对配置为颁发Windows Hello 企业版证书的每个附加 NDES Microsoft Entra应用程序代理重复此步骤。 Microsoft Intune轮循机制对 SCEP 证书配置文件中列出的 URL 之间的请求进行负载均衡
  18. 选择“ 下一步”
  19. 选择“下一步”多次跳过向导的“作用域标记”、“分配”和“适用性规则”步骤,然后选择“创建

将组分配到 WHFB 证书注册证书配置文件

使用等同于“域用户”的访问权限登录工作站。

  1. 登录到Microsoft Intune管理中心
  2. 选择 “设备”,然后选择“ 配置文件”
  3. 选择“WHFB 证书注册
  4. 选择“属性”,然后选择“作业”部分旁边的“编辑
  5. “分配”窗格中,从“分配到”列表中选择“所选组”。 选择 “选择要包含的组”。 WHFB SCEP 配置文件分配。
  6. 选择 ENTRA JOINED WHFB 证书用户组 。 选择 “选择”
  7. 选择“ 查看 + 保存”,然后选择“ 保存”

你已成功完成配置。 将需要注册Windows Hello 企业版身份验证证书的用户添加到 ENTRA JOINED WHFB 证书用户组。 此组与设备注册Windows Hello 企业版配置相结合,提示用户注册Windows Hello 企业版并注册可用于向本地资源进行身份验证的证书。

注意

Passport for Work 配置服务提供程序 (CSP) 用于管理移动设备管理 (MDM) Windows Hello 企业版包含名为 UseCertificateForOnPremAuth 的策略。 按照本文档中所述的说明将证书部署到Windows Hello 企业版用户时,不需要此策略,因此不应进行配置。 使用 MDM 管理的设备(其中启用了 UseCertificateForOnPremAuth)将不符合预配Windows Hello 企业版先决条件检查。 如果尚未配置Windows Hello 企业版,此失败将阻止用户设置它。

各部分回顾

  • 要求
  • 准备Microsoft Entra连接
  • (NDES) 服务帐户准备网络设备注册服务
  • 准备 Active Directory 证书颁发机构
  • 安装和配置 NDES 角色
  • 配置网络设备注册服务以使用 Microsoft Intune
  • 下载、安装和配置Intune证书连接器
  • (SCEP 证书配置文件) 创建和分配简单证书注册协议