共用方式為

使用应用程序标识向 Microsoft Entra ID 进行身份验证

Microsoft Entra Connect 使用 Microsoft Entra Connector 帐户 对 Active Directory 中的标识进行身份验证并同步到 Microsoft Entra Connect。 此帐户使用用户名和密码对请求进行身份验证。

为了增强服务的安全性,我们将推出一个应用程序标识,该标识使用带有证书凭据的 Oauth 2.0 客户端凭据流。 在此新方法中,Microsoft Entra 或管理员在 Microsoft Entra ID 中创建单个租户非Microsoft应用程序,并为凭据使用以下相关证书管理选项之一。

Microsoft Entra Connect 提供三个选项用于应用程序和证书管理:

注释

应用程序管理员角色授予同意应用程序权限的功能,但 Azure AD Graph 和 Microsoft Graph 的应用程序权限除外。 这意味着应用程序管理员仍可以同意其他应用的应用程序权限,尤其是 AWS 第一方应用和 SSPR 第一方应用。

此角色还授予管理应用程序凭据的能力。 分配给此角色的用户可将凭据添加到应用程序(尤其是 Connect Sync),并使用这些凭据模拟应用程序的标识。 这可能是用户通过角色分配可以执行的作的特权提升。

由 Microsoft Entra Connect 管理(默认值)

Microsoft Entra Connect 管理应用程序和证书,其中包括证书的创建、轮换和删除。 证书存储在存储区中 CURRENT_USER 。 为了最佳保护证书的私钥,我们建议计算机应使用受信任的平台模块(TPM)解决方案来建立基于硬件的安全边界。

当 TPM 可用时,密钥服务作会在专用硬件环境中执行。 与此相反,如果无法使用 TPM,Microsoft Entra Connect 默认将证书存储在默认Microsoft软件密钥存储提供程序中,并将私钥标记为不可导出以用于额外保护。 如果没有 TPM 提供的硬件隔离,则只有软件可以保护私钥,这无法实现相同的保护级别。

有关 TPM 技术的详细信息,请参阅 受信任的平台模块技术概述

显示使用应用程序 ID 进行身份验证的关系图。

建议使用 Microsoft Entra Connect 证书管理(默认)选项,因为我们管理密钥并在到期时自动轮换证书。

Microsoft Entra Connect Sync 使用计划程序检查证书是否应轮换,然后自动轮换证书。 如果计划程序已挂起,即使Microsoft Entra Connect Sync 管理证书,自动证书轮换也不会发生。

自带应用程序

在“自带应用程序”(BYOA)设置中,管理员管理Microsoft Entra Connect Sync 用来对Microsoft Entra ID、应用程序权限和应用程序使用的证书凭据进行身份验证的应用程序。

管理员 注册Microsoft Entra 应用并创建服务主体。 应用程序需要配置所需的权限。 若要配置应用程序所需的权限,可以使用 PowerShell。

管理员负责创建证书、轮换和删除未使用的或过期的证书。 证书必须存储在存储区中 LOCAL_MACHINE

管理员负责保护证书的私钥,并确保只有Microsoft Entra Connect Sync 才能访问私钥进行签名。

建议使用 TPM 或硬件安全模块(HSM)提供基于硬件的安全边界,而不是默认安全边界。 若要检查 TPM 的状态,请使用 Get-TPM PowerShell cmdlet。

如果使用 Hyper-V 虚拟机(VM),可以通过选择“ 安全>启用受信任的平台模块”来启用 TPM。 只能在第 2 代 VM 上执行此步骤。 第 1 代 VM 无法转换为第 2 代 VM。 有关详细信息,请参阅 Hyper-V 的第 2 代 VM 安全设置 ,并在 现有 Azure Gen2 VM 上启用受信任的启动

自带证书

在“自带证书”设置中,管理员管理应用程序使用的证书凭据。 管理员负责创建证书、轮换和删除未使用的或过期的证书。 证书必须存储在存储区中 LOCAL_MACHINE

管理员负责保护证书的私钥,并确保只有Microsoft Entra Connect Sync 才能访问私钥进行签名。

建议使用 TPM 或硬件安全模块(HSM)提供基于硬件的安全边界,而不是默认安全边界。 若要检查 TPM 的状态,请使用 Get-TPM PowerShell cmdlet。

如果使用 Hyper-V 虚拟机(VM),可以通过选择“ 安全>启用受信任的平台模块”来启用 TPM。 只能在第 2 代 VM 上执行此步骤。 第 1 代 VM 无法转换为第 2 代 VM。 有关详细信息,请参阅 Hyper-V 的第 2 代 VM 安全设置 ,并在 现有 Azure Gen2 VM 上启用受信任的启动

先决条件

使用应用程序标识实现身份验证需要满足以下先决条件。

重要

新的Microsoft Entra Connect 同步版本只能通过 Microsoft Entra 管理中心使用。

跟进 “新增功能” 通信,Microsoft Entra Connect Sync 的新版本仅在微软 Entra 管理中心的 “Microsoft Entra Connect” 窗格内可用,并且将不再发布到 Microsoft 下载中心

BYOC 证书管理选项需要以下额外要求:

  • 在 HSM 或 TPM 中,使用下一代加密 API 提供程序创建证书。 私钥标记为不可导出。 如果未使用 TPM,则会发出警告事件 1014。 支持以下证书配置:
    • KeyLength: 2048
    • KeyAlgorithm:RSA
    • KeyHashAlgorithm:SHA256
  • 创建的证书存储在存储区中 LOCAL_MACHINE
  • 授予 Microsoft Entra Connect Sync 帐户权限,以使用私钥执行签名。

BYOA 应用程序管理选项需要以下额外要求:

  • 客户根据上述 BYOC 先决条件中的指示创建证书。
  • 客户在 Microsoft Entra ID 中注册应用程序,并创建服务主体。 向应用程序授予必要的权限。
  • 客户向应用程序注册证书。

查看当前身份验证配置

若要查看当前身份验证配置,请运行向导并转到 “任务”,然后选择“ 查看或导出当前配置”。

如果服务器配置为使用基于应用程序的身份验证,则应能够看到应用程序(客户端)ID,如以下屏幕截图所示。

显示客户端 ID 的屏幕截图。

向下滚动到证书详细信息。 下表提供有关证书的信息。

资产 DESCRIPTION
证书管理者 Microsoft Entra Connect Sync 还是 BYOC 管理证书
启用自动旋转 是启用自动旋转还是手动旋转
证书指纹 证书的唯一标识符
证书 SHA256 哈希 使用 SHA-256 哈希算法生成的证书的指纹
使用者名称 标识与证书关联的实体
颁发者 谁是证书的颁发者
序列号 唯一标识同一颁发者的证书之间的证书
在此之前无效 证书有效的第一个日期
有效期截至 证书有效的最后一个日期

显示证书的屏幕截图。

如果服务器使用的是用户名和密码,则应能够看到帐户名称,如以下屏幕截图所示。

显示帐户名称的屏幕截图。

安装和升级(由 Microsoft Entra Connect 管理)

初始安装或手动交互式升级期间,会自动设置 Microsoft Entra Connect Sync 托管应用程序和凭据。 若要确认 Microsoft Entra Connect 正在使用应用程序标识,可以查看 当前的身份验证配置

载入到基于应用程序的身份验证

自动

从版本 2.5.76.0 或更高版本开始,如果服务使用用户名和密码进行身份验证以Microsoft Entra ID,服务将在 6 小时内自动配置应用程序身份验证。

Manual

如果未自动配置应用程序身份验证,可以手动切换到基于应用程序的身份验证。

如果要使用默认选项(由 Microsoft Entra Connect 管理)配置基于应用程序的身份验证,可以使用向导。 但是,如果要使用 BYOC 或 BYOA 配置基于应用程序的身份验证,则必须使用 PowerShell。

  1. 启动Microsoft Entra Connect 向导
  2. 转到 “其他任务>”配置基于应用程序的身份验证以Microsoft Entra ID ,然后按照提示进行作。

显示“其他任务”窗格上配置基于应用程序的身份验证的屏幕截图。

证书轮换

如果证书轮换到期,Microsoft Entra Connect 将发出警告。 也就是说,如果过期时间小于或等于 150 天。 如果证书已过期,则会发出错误。 可以在应用程序事件日志中找到这些警告(事件 ID 1011)和错误(事件 ID 1012)。

如果未暂停计划程序,则以计划程序频率发出此消息。 运行 Get-ADSyncSchedulerSettings 以查看计划程序是否已挂起。

自动

如果Microsoft Entra Connect 管理证书,除非计划程序已暂停,否则不需要你执行 任何作 ,Microsoft Entra Connect Sync 会将新证书凭据添加到应用程序,并尝试删除旧的证书凭据。

如果未能删除旧证书凭据,则事件查看器中的应用程序日志中会显示错误事件。

如果看到此错误,请在 PowerShell 中运行以下 cmdlet,从 Microsoft Entra 中清除旧的证书凭据。 该 cmdlet 需要使用必须删除的证书的 CertificateId 值,该值可以从日志或 Microsoft Entra 管理中心获取。

Remove-EntraApplicationKey -CertificateId <certificateId>

Manual

如果配置不符合自动证书轮换的条件,则可以在任何时间点轮换证书,即使当前证书仍未轮换或当前证书过期。

  1. 启动Microsoft Entra Connect 向导
  2. 转到 “其他任务>轮换应用程序证书 ”,然后按照提示进行作。

显示“其他任务”窗格上的“轮换应用程序证书”选项的屏幕截图。

用于生成证书的 SHA256 哈希的脚本

# Get raw data from X509Certificate cert
$certRawDataString = $cert.GetRawCertData()

# Compute SHA256Hash of certificate 
$sha256 = [System.Security.Cryptography.SHA256]::Create()
$hashBytes = $sha256.ComputeHash($certRawDataString)

# Convert hash to bytes for PowerShell (Core) 7.1+:
$certHash = [System.Convert]::ToHexString($hashBytes)

# Convert hash to bytes for older PowerShell:
$certHash = ($hashBytes|ForEach-Object ToString X2) -join ''

证书吊销过程

对于自签名证书(Microsoft Entra Managed 或 BYOC),管理员必须通过从 Microsoft Entra ID 中删除 keyCredential 值来执行手动吊销。 证书的按需轮换也是一个选项。

删除旧服务帐户

转换到基于应用程序的身份验证并Microsoft Entra Connect Sync 按预期工作后,强烈建议使用 PowerShell 删除旧的 DSA 用户名和密码服务帐户。 如果使用无法删除的自定义帐户,请降低其权限,并从中删除 DSA 角色。

按照以下步骤删除旧服务帐户。

  1. 添加服务帐户用户名和密码。

    $HACredential
    
  2. 系统会提示输入 Microsoft Entra 管理员 UserPrincipalName 值和密码。 输入用户名和密码。

  3. 接下来,删除服务帐户。

    Remove-ADSyncAADServiceAccount -AADCredential $HACredential -Name <$serviceAccountName>
    

    ServiceAccountName 值是 Microsoft Entra ID 中所用服务帐户的 UserPrincipalName 值的第一部分。 可以在 Microsoft Entra 管理中心的用户列表中找到此用户。 如果 UPN 为 aringdahl@fabrikam.com,则 aringdahl 用作 ServiceAccountName 值。

使用 PowerShell 回滚到旧服务帐户

如果想要返回到旧服务帐户,可以使用 PowerShell 还原为使用服务帐户来及时缓解该问题。 使用以下步骤回滚到服务帐户。

作为回滚的一部分,我们将重新创建 DSA 帐户。 此新帐户可能需要长达 15 分钟才能生效,因此在重新启用同步周期时可能会收到“拒绝访问”错误。

  1. 禁用计划程序以确保在完成此更改之前不会运行任何同步周期。

    Set-ADSyncScheduler -SyncCycleEnabled $false
    
  2. 添加服务帐户。 系统会提示输入 Microsoft Entra 管理员 UserPrincipalName 值和密码。 输入凭据。

    Add-ADSyncAADServiceAccount
    
  3. 获取当前的身份验证机制,并确认 ConnectorIdentityType 该值已返回 ServiceAccount

    Get-ADSyncEntraConnectorCredential
    
  4. 重新允许计划程序开始同步服务。

    Set-ADSyncScheduler -SyncCycleEnabled $true