有关 Microsoft Entra 基于证书的身份验证 (CBA) 的常见问题解答

本文解答了有关 Microsoft Entra 基于证书的身份验证 (CBA) 工作原理的常见问题。 请随时返回查看更新内容。

为何在输入用户名后未出现使用证书登录到 Microsoft Entra ID 的选项?

管理员需要为租户启用 CBA,以使用户可以使用证书选项登录。 有关详细信息,请参阅步骤 3:配置身份验证绑定策略

用户登录失败后,在何处可以获取更多诊断信息?

在错误页上,单击“更多详细信息”以获取可为租户管理员提供帮助的更多信息。租户管理员可以查看“登录报告”来进一步调查。 例如,如果一个用户证书被吊销,并且是证书吊销列表的一部分,则身份验证无疑会失败。 若要获取更多诊断信息,请查看“登录报告”。

管理员如何启用 Microsoft Entra CBA?

  1. 至少以身份验证策略管理员的身份登录到 Microsoft Entra 管理中心
  2. 浏览至 “保护”>“身份验证方法”>“策略”。
  3. 选择策略:基于证书的身份验证
  4. 在“启用和目标”选项卡上,选择“启用”按钮以启用基于证书的身份验证。

Microsoft Entra CBA 是免费功能吗?

基于证书的身份验证是一项免费功能。 每个版本的 Microsoft Entra ID 都包含 Microsoft Entra CBA。 若要详细了解每个 Microsoft Entra 版本中的功能,请参阅 Microsoft Entra 定价

Microsoft Entra CBA 是否支持备用 ID 作为用户名而非 userPrincipalName?

否,现在不支持使用非 UPN 值(如备用电子邮件)登录。

能否为一个证书颁发机构 (CA) 提供多个 CRL 分发点 (CDP)?

否,每个 CA 仅支持一个 CDP。

能否为 CDP 提供非 http URL?

否,CDP 仅支持 HTTP URL。

如何查找证书颁发机构的 CRL,或者如何解决错误 AADSTS2205015:证书吊销列表 (CRL) 签名验证失败?

请下载 CRL 并比较 CA 证书和 CRL 信息,以验证 crlDistributionPoint 值对于你要添加的 CA 是否有效。 你可以通过将 CA 的颁发者 SKI 匹配到 CRL 的 AKI (CA Issuer SKI == CRL AKI) 将 CRL 配置为对应的 CA。下面的表和图显示了如何将来自 CA 证书的信息映射到所下载的 CRL 的属性。

CA 证书信息 = 已下载 CRL 信息
使用者 = 颁发者
使用者密钥标识符 = 授权密钥标识符 (KeyID)

将 CA 证书与 CRL 信息进行比较的屏幕截图。

如何验证证书颁发机构配置?

请务必确保信任存储结果中的证书颁发机构配置是,Microsoft Entra 能够验证证书颁发机构信任链,并从所配置的证书颁发机构 CRL 分发点 (CDP) 成功获取证书吊销列表 (CRL)。 为了帮助完成此任务,建议安装 MSIdentity Tools PowerShell 模块并运行 Test-MsIdCBATrustStoreConfiguration。 此 PowerShell cmdlet 将查看 Microsoft Entra 租户证书颁发机构配置,并显示常见错误配置问题的错误/警告。

如何为特定 CA 启用或关闭证书吊销检查?

强烈建议不要禁用证书吊销列表 (CRL) 检查,因为这样的话将无法吊销证书。 但是,如果需要调查 CRL 检查问题,可以更新受信任 CA 并将 crlDistributionPoint 属性设置为 """。

使用 Set-AzureADTrustedCertificateAuthority cmdlet:

$c=Get-AzureADTrustedCertificateAuthority
$c[0]. crlDistributionPoint=""
Set-AzureADTrustedCertificateAuthority -CertificateAuthorityInformation $c[0]

CRL 大小是否有限制?

以下 CRL 大小限制适用:

  • 交互式登录下载限制:20 MB(Azure 全球包括 GCC),45 MB(Azure 美国政府,包括 GCC High、国防部)
  • 服务下载限制:65 MB(Azure 全球包括 GCC),150 MB(Azure 美国政府,包括 GCC High、国防部)

当 CRL 下载失败时,会显示以下消息:

“从 {uri} 下载的证书吊销列表(CRL)已超过 Microsoft Entra IDy中 CRL 的最大允许大小({size} 字节)。 请在几分钟后重试。 如果该问题仍然出现,请与租户管理员联系。”

下载保持在后台进行,其限制更高。

我们正在审查这些限制的影响,并计划将其取消。

我看到一个有效的证书吊销列表 (CRL) 终结点集,但为什么没有看到任何 CRL 吊销?

  • 确保将 CRL 分发点设置为有效的 HTTP URL。
  • 确保可通过面向 Internet 的 URL 访问 CRL 分发点。
  • 确保 CRL 大小在限制范围内。

如何立即吊销证书?

按照步骤手动吊销证书

对身份验证方法策略所做的更改是否立即生效?

缓存策略。 在策略更新后,最多可能需要一小时才能使更改生效。

为何基于证书的身份验证失败后还会看到该选项?

身份验证方法策略始终向用户显示所有可用的身份验证方法,以便他们可以使用任何偏好的方法重试登录。 Microsoft Entra ID 不会根据登录结果(成功还是失败)隐藏可用方法。

为何基于证书的身份验证 (CBA) 一旦失败就会循环进行?

证书选取器出现后,浏览器会缓存证书。 如果用户重试,则会自动使用缓存的证书。 用户应关闭浏览器,然后重新打开新会话以重试 CBA。

使用单因素证书时,为什么没有显示用于注册其他身份验证方法的证明?

如果用户在身份验证方法策略中处于基于证书的身份验证范围内,则用户被视为能够进行 MFA。 此策略要求意味着用户无法在身份验证时使用证明来注册其他可用方法。

如何使用单因素证书来完成 MFA?

我们支持单因素 CBA 以获取 MFA。 CBA SF + 无密码手机登录 (PSI) 和 CBA SF + FIDO2 是使用单因素证书获取 MFA 的两种支持的组合。 使用单因素证书进行 MFA

CertificateUserIds 更新失败,值已存在。 管理员如何查询具有相同值的所有用户对象?

租户管理员可以运行 MS Graph 查询来查找具有给定 certificateUserId 值的所有用户。 有关详细信息,请参阅 CertificateUserIds Graph 查询

获取 certificateUserIds 中具有“bob@contoso.com”值的所有用户对象:

GET  https://graph.microsoft.com/v1.0/users?$filter=certificateUserIds/any(x:x eq 'bob@contoso.com')

配置 CRL 终结点后,最终用户将无法登录,他们会看到以下诊断消息: ```http AADSTS500173:无法下载 CRL。 无效状态代码 禁止来自 CRL 分发点 errorCode:500173 ```

当防火墙规则设置阻止访问 CRL 终结点时,通常会看到这种情况。

Microsoft Entra CBA 是否可以在 SurfaceHub 上使用?

是的。 对于大多数智能卡/智能卡读卡器组合,这都是开箱即用的。 如果智能卡/智能卡读卡器组合需要其他驱动程序,则在 Surface Hub 上使用智能卡/智能卡读卡器组合之前必须安装这些驱动程序。