如何为 Microsoft Entra 基于证书的身份验证配置证书颁发机构

配置证书颁发机构 (CA) 的最佳方法是使用基于 PKI 的信任存储(预览版)。 可以将基于 PKI 的信任库配置委派给最低权限角色。 有关详细信息,请参阅步骤 1:使用基于 PKI 的信任存储(预览版)配置证书颁发机构

作为替代方法,全局管理员可以按照本主题中的步骤,使用 Microsoft Entra 管理中心、Microsoft Graph REST API 和支持的软件开发工具包 (SDK),如 Microsoft Graph PowerShell,配置 CA。 公钥基础结构 (PKI) 基础结构或 PKI 管理员应能够提供颁发者 CA 的列表。

若要确保配置了所有 CA,请打开用户证书,然后单击“证书路径”选项卡。请确保根 CA 之前的每个 CA 都上传到 Microsoft Entra ID 信任存储。 如果缺少 CA,Microsoft Entra 基于证书的身份验证 (CBA) 将失败。

使用 Microsoft Entra 管理中心配置证书颁发机构

若要配置证书颁发机构以在 Microsoft Entra 管理中心启用 CBA,请完成以下步骤:

  1. 全局管理员身份登录到 Microsoft Entra 管理中心

  2. 浏览到“保护”>“显示更多”>“安全中心”(或“标识安全分数”)>“证书颁发机构”。

  3. 若要上传 CA,请选择“上传”:

    1. 选择 CA 文件。

    2. 如果 CA 是根证书,请选择“是”,否则请选择“否”。

    3. 对于“证书吊销列表 URL”,请为包含所有已吊销证书的 CA 基 CRL 设置面向 Internet 的 URL。 如果未设置 URL,则使用已吊销的证书进行身份验证不会失败。

    4. 对于“增量证书吊销列表 URL”,请为自上次发布基 CRL 以来,包含所有已吊销证书的 CRL 设置面向 Internet 的 URL。

    5. 选择 添加

      显示如何上传证书授权文件的截图。

  4. 若要删除 CA 证书,请选择该证书,然后选择“删除”。

  5. 选择“”可添加或删除列。

注意

如果现有 CA 已过期,则上传新 CA 会失败。 你应删除任何已过期的 CA,然后重试上传新 CA。

需要全局管理员来管理此功能。

使用 PowerShell 配置证书颁发机构 (CA)

仅支持可信 CA 的一个 CRL 分发点 (CDP)。 CDP 只能是 HTTP URL。 不支持联机证书状态协议 (OCSP) 或轻型目录访问协议 (LDAP) URL。

若要在 Microsoft Entra ID 中配置证书颁发机构,需要针对每个证书颁发机构上传以下信息:

  • 证书的公共部分,格式为 .cer
  • 证书吊销列表 (CRL) 所在的面向 Internet 的 URL

证书颁发机构的架构如下所示:

    class TrustedCAsForPasswordlessAuth
    {
       CertificateAuthorityInformation[] certificateAuthorities;
    }

    class CertificateAuthorityInformation

    {
        CertAuthorityType authorityType;
        X509Certificate trustedCertificate;
        string crlDistributionPoint;
        string deltaCrlDistributionPoint;
        string trustedIssuer;
        string trustedIssuerSKI;
    }

    enum CertAuthorityType
    {
        RootAuthority = 0,
        IntermediateAuthority = 1
    }

对于配置,可以使用 Microsoft Graph PowerShell

  1. 使用管理员特权启动 Windows PowerShell。

  2. 安装 Microsoft Graph PowerShell

        Install-Module Microsoft.Graph
    

作为第一个配置步骤,需建立与租户的连接。 与租户建立连接后,即可查看、添加、删除和修改目录中定义的受信任的证书颁发机构。

连接

若要建立与租户的连接,请使用 Connect-MgGraph

    Connect-MgGraph

检索

若要检索目录中定义的受信任的证书颁发机构,请使用 Get-MgOrganizationCertificateBasedAuthConfiguration

    Get-MgOrganizationCertificateBasedAuthConfiguration

添加

注意

当现有 CA 过期时,新 CA 的上传将失败。 租户管理员应删除过期的 CA,然后上传新 CA。

按照上述步骤在 Microsoft Entra 管理中心中添加 CA。

AuthorityType

  • 用 0 表示根证书颁发机构
  • 用 1 表示中间证书颁发机构或证书颁发机构

crlDistributionPoint

下载 CRL 并比较 CA 证书和 CRL 信息。 请确保上述 PowerShell 示例中的 crlDistributionPoint 值对要添加的 CA 有效。

下面的表和图显示了如何将信息从 CA 证书映射到已下载 CRL 的属性。

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

将 CA 证书与 CRL 信息进行比较。

提示

上述示例中 crlDistributionPoint 的值是 CA 的证书吊销列表的 http 位置 (CRL)。 可以在几个位置找到此值:

  • 从 CA 颁发的证书的 CRL 分发点 ( CDP) 属性。

如果颁发 CA 运行 Windows Server:

  • 在证书颁发机构 Microsoft 管理控制台 (MMC) 中 CA 的“属性”中。
  • 通过运行 certutil -cainfo cdp 在 CA 中找到。 有关详细信息,请参阅 certutil

有关详细信息,请参阅了解证书吊销过程

使用 Microsoft Graph API 配置证书颁发机构

Microsoft Graph API 可用于配置证书颁发机构。 要更新 Microsoft Entra 证书颁发机构信任存储,请按照 certificatebasedauthconfiguration MSGraph 命令中的步骤操作。

验证证书颁发机构配置

确保配置允许Microsoft Entra CBA 进行以下操作:

  • 验证 CA 信任链
  • 从已配置的证书颁发机构证书吊销列表分发点 (CDP) 获取证书吊销列表 (CRL)

若要验证 CA 配置,请安装 MSIdentity Tools PowerShell 模块,并运行 Test-MsIdCBATrustStoreConfiguration。 此 PowerShell cmdlet 会检查 Microsoft Entra 租户 CA 配置。 它会报告常见错误配置的错误和警告。

如何配置 Microsoft Entra 基于证书的身份验证