Compartilhar via

工作流程:设备注册

设备注册是基于云的身份验证的先决条件。 通常,设备Microsoft Entra ID或Microsoft Entra混合联接以完成设备注册。 本文提供了有关 Microsoft Entra 加入和 Microsoft Entra 混合加入在托管和联合环境中如何工作的详细信息。 有关 Microsoft Entra 身份验证在这些设备上的工作原理的详细信息,请参阅文章《主要刷新令牌》。

Microsoft Entra已加入托管环境

Microsoft Entra 托管环境中联接的设备流

阶段 说明
A Microsoft Entra 加入设备的最常见注册方法是在开箱体验(OOBE)期间,通过云体验主机(CXH)应用程序加载 Microsoft Entra 连接 Web 应用程序。 应用程序向 Microsoft Entra OpenID 配置终结点发送 GET 请求,以发现授权终结点。 Microsoft Entra ID将 OpenID 配置(包括授权终结点)作为 JSON 文档返回到应用程序。
B 应用程序为授权终结点生成登录请求,并收集用户凭据。
C 用户提供其用户主体名称(UPN)后,应用程序会发送 GET 请求到 Microsoft Entra ID,以发现用户的相应域信息。 此信息用于确定环境是托管环境还是联合环境。 Microsoft Entra ID返回 JSON 对象中的信息。 应用程序确定该环境是受管理的(非联合)。

此阶段的最后一步是让应用程序创建一个身份验证缓冲区,如果是在 OOBE 中,则暂时进行缓存,以在 OOBE 结束时自动登录。 应用程序将凭据发送到Microsoft Entra ID进行验证。 Microsoft Entra ID 会返回带有声明的 ID 令牌。
D 应用程序查找移动设备管理(MDM)的使用条款(mdm_tou_url 声明)。 如果存在,应用程序会从声明的值中检索使用条款,向用户显示内容,并等待用户接受使用条款。 此步骤是可选的,如果声明不存在或声明值为空,则跳过此步骤。
E 应用程序将设备注册发现请求发送到Azure设备注册服务(DRS)。 Azure DRS 返回发现数据文档,该文档返回特定于租户的 URI 以完成设备注册。
F 应用程序创建 TPM 绑定的(首选)RSA 2048 位密钥对,称为设备密钥 (dkpub/dkpriv)。 应用程序使用 dkpub 和公钥创建证书请求,然后使用 dkpriv 对证书请求进行签名。 接下来,应用程序从 TPM 的存储根密钥派生第二个密钥对。 此密钥是传输密钥 (tkpub/tkpriv)。
G 应用程序向Azure DRS 发送设备注册请求,其中包括 ID 令牌、证书请求、tkpub 和证明数据。 Azure DRS 验证 ID 令牌、创建设备 ID,并根据包含的证书请求创建证书。 然后,Azure DRS 在 Microsoft Entra ID 中写入设备对象,并将设备 ID 和设备证书发送到客户端。
H 设备注册通过从 Azure DRS 接收设备 ID 和设备证书来完成。 设备 ID 将保存起来以供将来参考(可从 dsregcmd.exe /status 查看),设备证书安装在计算机的个人存储中。 完成设备注册后,接下来继续进行 MDM 加入。

Microsoft Entra已加入联合环境

Microsoft Entra联合环境中的联接设备流

阶段 说明
A Microsoft Entra 设备最常见的注册方法是在开箱体验(OOBE)期间,通过在云体验主机(CXH)应用程序中加载 Microsoft Entra 加入 Web 应用程序实现的。 应用程序向 Microsoft Entra OpenID 配置终结点发送 GET 请求,以发现授权终结点。 Microsoft Entra ID将 OpenID 配置(包括授权终结点)作为 JSON 文档返回到应用程序。
B 应用程序为授权终结点生成登录请求,并收集用户凭据。
C 用户提供用户名(采用 UPN 格式)后,应用程序会发送 GET 请求到 Microsoft Entra ID,以便发现用户的相应领域信息。 此信息用于确定环境是托管环境还是联合环境。 Microsoft Entra ID返回 JSON 对象中的信息。 应用程序确定环境是联合环境。

应用程序重定向到返回的 JSON 领域对象中的 AuthURL 值(本地 STS 登录页)。 应用程序通过 STS 网页收集凭据。
D 应用程序将凭据 POST 到本地 STS,这可能需要额外的多因素身份验证。 本地 STS 对用户进行身份验证并返回令牌。 应用程序将令牌通过POST请求发送到 Microsoft Entra ID 以进行身份验证。 Microsoft Entra ID 验证令牌并返回包含声明的 ID 令牌。
E 应用程序查找 MDM 使用条款(mdm_tou_url 声明)。 如果存在,应用程序会从声明的值中检索使用条款,向用户显示内容,并等待用户接受使用条款。 此步骤是可选的,如果声明不存在或声明值为空,则跳过此步骤。
F 应用程序将设备注册发现请求发送到Azure设备注册服务(DRS)。 Azure DRS 返回发现数据文档,该文档返回特定于租户的 URI 以完成设备注册。
G 应用程序创建 TPM 绑定的(首选)RSA 2048 位密钥对,称为设备密钥 (dkpub/dkpriv)。 应用程序使用 dkpub 和公钥创建证书请求,然后使用 dkpriv 对证书请求进行签名。 接下来,应用程序从 TPM 的存储根密钥派生第二个密钥对。 此密钥是传输密钥 (tkpub/tkpriv)。
H 应用程序向Azure DRS 发送设备注册请求,其中包括 ID 令牌、证书请求、tkpub 和证明数据。 Azure DRS 验证 ID 令牌、创建设备 ID,并根据包含的证书请求创建证书。 然后,Azure DRS 在 Microsoft Entra ID 中写入设备对象,并将设备 ID 和设备证书发送到客户端。
I 设备注册通过从 Azure DRS 接收设备 ID 和设备证书来完成。 设备 ID 将保存起来以供将来参考(可从 dsregcmd.exe /status 查看),设备证书安装在计算机的个人存储中。 完成设备注册后,接下来继续进行 MDM 加入。

在托管环境中加入Microsoft Entra混合联接

托管环境中 Microsoft Entra 混合加入设备流程的屏幕截图。

阶段 说明
A 用户使用域凭据登录到加入域的 Windows 10 或更高版本的计算机。 此凭据可以是用户名和密码或智能卡身份验证。 用户登录触发“自动设备联接”任务。 “自动设备联接”任务在加入域时被触发,并且每小时重试一次。 它并不完全取决于用户登录。
B 任务使用 LDAP 协议查询 Active Directory 中存储在配置分区中的服务连接点的关键字属性(CN=62a0ff2e-97b9-4513-943f-0d221bd30080,CN=Device Registration Configuration,CN=Services,CN=Configuration,DC=corp,DC=contoso,DC=com)。 关键字属性中返回的值确定设备注册是定向到Azure设备注册服务(DRS)还是本地托管的企业设备注册服务。
C 对于托管环境,任务以自签名证书的形式创建一个初始身份验证凭据。 该任务使用 LDAP 将证书写入Active Directory计算机对象上的 userCertificate 属性。
D 在创建代表计算机且包含 userCertificate 属性证书的设备对象之前,计算机无法向 Azure DRS 进行身份验证。 Microsoft Entra Connect 检测到属性更改。 在下一个同步周期中,Microsoft Entra Connect 将 userCertificate、对象 GUID 和计算机 SID 发送到 Azure DRS。 Azure DRS 使用属性信息在Microsoft Entra ID中创建设备对象。
E 自动设备加入任务会在每个用户登录时或每小时触发一次,并尝试使用 userCertificate 属性中公钥对应的私钥将计算机认证到 Microsoft Entra ID。 Microsoft Entra对计算机进行身份验证,并向计算机颁发 ID 令牌。
F 任务创建 TPM 绑定的(首选)RSA 2048 位密钥对,称为设备密钥 (dkpub/dkpriv)。 应用程序使用 dkpub 和公钥创建证书请求,然后使用 dkpriv 对证书请求进行签名。 接下来,应用程序从 TPM 的存储根密钥派生第二个密钥对。 此密钥是传输密钥 (tkpub/tkpriv)。
G 该任务将设备注册请求发送到Azure DRS,其中包括 ID 令牌、证书请求、tkpub 和证明数据。 Azure DRS 验证 ID 令牌、创建设备 ID,并根据包含的证书请求创建证书。 然后,Azure DRS 更新Microsoft Entra ID中的设备对象,并将设备 ID 和设备证书发送到客户端。
H 设备注册通过从 Azure DRS 接收设备 ID 和设备证书来完成。 设备 ID 将保存起来以供将来参考(可从 dsregcmd.exe /status 查看),设备证书安装在计算机的个人存储中。 完成设备注册后,任务将退出。

在联合环境中加入Microsoft Entra混合联接

Microsoft Entra托管环境中的混合联接设备流

阶段 说明
A 用户使用域凭据登录到已加入域的 Windows 10 或更新版本的计算机。 此凭据可以是用户名和密码或智能卡身份验证。 用户登录触发“自动设备联接”任务。 “自动设备联接”任务在加入域时被触发,并且每小时重试一次。 它并不完全取决于用户登录。
B 任务使用 LDAP 协议查询存储在 Active Directory(CN=62a0ff2e-97b9-4513-943f-0d221bd30080,CN=Device Registration Configuration,CN=Services,CN=Configuration,DC=corp,DC=contoso,DC=com)配置分区中服务连接点的关键字属性。 关键字属性中返回的值确定设备注册是定向到Azure设备注册服务(DRS)还是本地托管的企业设备注册服务。
C 对于联合环境,计算机使用Windows集成身份验证对企业设备注册终结点进行身份验证。 企业设备注册服务创建并返回一个令牌,其中包括对象 GUID、计算机 SID 和已加入域状态的声明。 该任务将令牌和声明信息提交到 Microsoft Entra ID 进行验证。 Microsoft Entra ID向正在运行的任务返回 ID 令牌。
D 应用程序创建 TPM 绑定的(首选)RSA 2048 位密钥对,称为设备密钥 (dkpub/dkpriv)。 应用程序使用 dkpub 和公钥创建证书请求,然后使用 dkpriv 对证书请求进行签名。 接下来,应用程序从 TPM 的存储根密钥派生第二个密钥对。 此密钥是传输密钥 (tkpub/tkpriv)。
E 为了为本地联合应用程序提供 SSO,任务会从本地 STS 请求企业 PRT。 Windows Server 2016运行Active Directory Federation Services角色验证请求,并返回正在运行的任务。
F 该任务将设备注册请求发送到Azure DRS,其中包括 ID 令牌、证书请求、tkpub 和证明数据。 Azure DRS 验证 ID 令牌、创建设备 ID,并根据包含的证书请求创建证书。 然后,Azure DRS 在 Microsoft Entra ID 中写入设备对象,并将设备 ID 和设备证书发送到客户端。 设备注册通过从 Azure DRS 接收设备 ID 和设备证书来完成。 设备 ID 将保存起来以供将来参考(可从 dsregcmd.exe /status 查看),设备证书安装在计算机的个人存储中。 完成设备注册后,任务将退出。
G 如果启用了 Microsoft Entra Connect 设备写回,Microsoft Entra Connect 将在下一个同步周期从 Microsoft Entra ID 请求更新(在使用证书信任的混合部署中,设备写回是必要的)。 Microsoft Entra ID将设备对象与匹配的同步计算机对象相关联。 Microsoft Entra Connect 接收包含对象 GUID 和计算机 SID 的设备对象,并将设备对象写入Active Directory。

后续步骤