使用 SCEP 在 Intune 中添加合作伙伴证书颁发机构
将第三方证书颁发机构 (CA) 与 Intune 配合使用。 第三方 CA 可以使用简单证书注册协议 (SCEP) 向移动设备预配新证书或续订证书,并且可以支持 Windows、iOS/iPadOS、Android 和 macOS 设备。
使用此功能分两个部分:开源代码 API 和 Intune 管理员任务。
第 1 部分 - 使用开源代码 API
Microsoft 创建了与 Intune 集成的 API。 通过此 API,可以验证证书、发送成功或失败通知,并能使用 SSL(特别是 SSL 套接字工厂)与 Intune 通信。
Intune SCEP API 公共 GitHub 存储库中提供了该 API,你可以下载和在解决方案中使用。 SCEP 向设备预配证书之前,将此 API 与第三方 SCEP 服务器配合使用,以针对 Intune 运行自定义质询验证。
与 Intune SCEP 管理解决方案集成可提供有关使用 API、其方法以及测试构建的解决方案的详细信息。
第 2 部分 - 创建应用程序和配置文件
使用Microsoft Entra应用程序,可以将权限委托给Intune来处理来自设备的 SCEP 请求。 Microsoft Entra应用程序包括开发人员创建的 API 解决方案中使用的应用程序 ID 和身份验证密钥值。 然后,管理员使用 Intune 创建和部署 SCEP 证书配置文件,从而可以在设备上查看有关部署状态的报表。
本文从管理员的角度概述了此功能,包括创建Microsoft Entra应用程序。
概述
以下步骤概述了如何在 Intune 中使用 SCEP 证书:
- 在 Intune 中,管理员创建 SCEP 证书配置文件,然后将用户或设备作为此配置文件的目标。
- 设备签入到 Intune。
- Intune 会创建唯一的 SCEP 质询。 它还会添加其他完整性检查信息,例如预期的主题和 SAN 应该如何。
- Intune 会对质询和完整性检查信息进行加密和签名,然后使用 SCEP 请求将此信息发送到设备。
- 设备根据从 Intune 推送的 SCEP 证书配置文件在设备上生成证书签名请求 (CSR) 和公钥/私钥对。
- 向第三方 SCEP 服务器终结点发送 CSR 和已加密/签名的质询。
- SCEP 服务器会将 CSR 和质询发送到 Intune。 然后,Intune 会验证签名,解密有效负载,并将 CSR 与完整性检查信息进行比较。
- Intune 会向 SCEP 服务器发回响应,并说明质询验证是否成功。
- 如果质询验证成功,则 SCEP 服务器会向设备颁发证书。
下图显示了第三方 SCEP 与 Intune 集成的详细流程:
设置第三方 CA 集成
验证第三方证书颁发机构
在将第三方证书颁发机构与 Intune 集成之前,请确认使用的 CA 支持 Intune。 第三方 CA 合作伙伴(在本文中)包含列表。 还可以查看证书颁发机构的指南以获取详细信息。 CA 可能包括特定于其实现的设置说明。
注意
若要支持以下设备,CA 必须在配置时支持使用 HTTPS URL,在为 SCEP 证书配置文件配置 SCEP 服务器 URL 时必须配置 HTTPS URL:
- Android 设备管理员
- Android Enterprise 设备所有者
- Android Enterprise 公司拥有的工作配置文件
- Android Enterprise 个人拥有的工作配置文件
授权 CA 与 Intune 之间的通信
若要允许第三方 SCEP 服务器使用 Intune 运行自定义质询验证,请在 Microsoft Entra ID 中创建应用。 此应用对 Intune 授予委托权限以验证 SCEP 请求。
请确保拥有注册Microsoft Entra应用所需的权限。 请参阅Microsoft Entra文档中的所需权限。
在 Microsoft Entra ID 中创建应用程序
在Azure 门户中,转到“>Microsoft Entra ID应用注册”,然后选择“新建注册”。
在“注册应用程序”页上,指定以下详细信息:
- 在“名称”部分中,输入一个有意义的应用程序名称。
- 对于“支持的帐户类型”部分,选择“任何组织目录中的帐户”。
- 对于“重定向 URI”,保留 Web 的默认值,然后指定第三方 SCEP 服务器的登录 URL。
选择“注册”以创建应用程序并打开新应用的“概述”页。
在应用的“概述”页上,复制“应用程序(客户端)ID”值并记录该值以供将来使用。 稍后将需要此值。
在应用的导航窗格中,转到“管理”下的“证书和密码”。 选择“新客户端密码”按钮。 在“说明”中输入值,选择“截止期限”的任何选项,然后选择“添加”以生成客户端密码的值。
重要
在离开此页面之前,使用第三方 CA 实现复制客户端密码的值并记录该值以供将来使用。 不再显示此值。 请务必查看有关他们希望如何配置应用程序 ID、身份验证密钥和租户 ID 的第三方 CA 指南。
记录租户 ID。 租户 ID 是帐户中 @ 符号后面的域文本。 例如,如果帐户为 admin@name.onmicrosoft.com,则租户 ID name.onmicrosoft.com。
在应用的导航窗格中,转到“管理”下的“API 权限”。 你将添加两个单独的应用程序权限:
选择“添加权限”:
- 在“请求获取 API 权限”页上,选择“Intune”,然后选择“应用程序权限”。
- 选中 scep_challenge_provider 对应的复选框(SCEP 质询验证)。
- 选择“添加权限”以保存此配置。
再次选择“添加权限”。
- 在“请求获取 API 权限”页上,选择“Microsoft Graph”>“应用程序权限”。
- 展开“应用程序”,然后选中“Application.Read.All”复选框(读取全部应用程序)。
- 选择“添加权限”以保存此配置。
保留在“API 权限”页上,选择“为<租户>授予管理员同意”,然后选择“是”。
Microsoft Entra ID 中的应用注册过程已完成。
配置和部署 SCEP 证书配置文件
以管理员身份创建针对用户或设备的 SCEP 证书配置文件。 然后,分配配置文件。
删除证书
取消注册或擦除设备后,证书将通过Intune从设备中删除,并排队等待吊销。 证书颁发机构的吊销取决于每个第三方的 API 实现。
第三方证书颁发机构合作伙伴
以下第三方证书颁发机构支持 Intune:
- AWS 专用证书颁发机构
- Cogito Group
- DigiCert
- EasyScep
- EJBCA
- Entrust
- EverTrust
- GlobalSign
- HID Global
- IDnomic
- Keyfactor 命令
- KeyTalk
- Keytos
- Nexus 证书管理器
- SCEPman
- Sectigo
- SecureW2
- Splashtop
- Venafi
如果第三方 CA 有兴趣将产品与 Intune 集成,请查看 API 指南:
安全和隐私信息
SCEP 配置文件中的某些用户信息) 接收证书签名请求 (CA 的第三方证书颁发机构可见。 当你部署新的Common name (CN)
或更新的 SCEP 配置文件,其中包含用户属性以及 、 和 OnPremisesSamAccountName
等UserName
变量时,OnPrem_Distinguished_Name
就会发生这种情况。 在配置文件部署期间,Microsoft Intune将这些变量替换为实际值。 目标设备必须联系第三方 CA 才能请求具有实际值的证书。
有关支持的用户变量的列表,请参阅创建 SCEP 证书配置文件下的步骤 7。