Microsoft Entra Connect:当你具有现有租户时

大多数有关如何使用 Microsoft Entra Connect 的主题都假定从新的 Microsoft Entra 租户开始,并且该租户中没有用户或其他对象。 但是,如果一开始使用的 Microsoft Entra 租户中填充了用户和其他对象,现在想要使用 Connect,那么,本主题适合你阅读。

基础知识

Microsoft Entra ID 中的对象可以在云或本地进行管理。 对于单个对象而言,无法在本地管理一些属性,在 Microsoft Entra ID 中管理另一些属性。 每个对象都有一个标志,指示对象的管理位置。

可以在本地管理一些用户,在云中管理另一些用户。 下面是此配置的常见应用情景:某家组织既有会计工作人员,也有销售工作人员。 会计人员有本地 AD 帐户,但销售人员没有,他们都在 Microsoft Entra ID 中有帐户。 你将在本地管理一些用户,并在 Microsoft Entra ID 中管理一些用户。

当你开始在 Microsoft Entra ID 中管理用户时,需要考虑一些额外的问题,这些问题也存在本地,稍后你需要使用 Microsoft Entra Connect。

与 Microsoft Entra ID 中的现有用户同步

当你开始与 Microsoft Entra Connect 同步时,Microsoft Entra 服务 API 会对每个新的传入对象执行检查,并尝试查找要匹配的现有对象。 此过程使用三个属性:userPrincipalNameproxyAddressessourceAnchor/immutableID。 userPrincipalName 或 proxyAddresses 上的匹配称为“软匹配”。sourceAnchor 上的匹配称为“硬匹配”。对于 proxyAddresses 属性,只会将包含 SMTP:(即主要电子邮件地址)的值用于评估。

只会针对来自 Connect 的新对象评估匹配。 如果更改现有对象,使它与其中的任一属性匹配,则会看到错误。

如果 Microsoft Entra ID 找到了一个对象,其中属性值与 Microsoft Entra Connect 中的新传入对象相同,则它将接管 Microsoft Entra ID 中的对象,并将以前云托管的对象转换为本地托管对象。 Microsoft Entra ID 中的所有属性如果在本地 AD 中具有值,这些属性会被相应的本地值覆盖。

警告

由于 Microsoft Entra ID 中的所有属性会被本地值覆盖,因此请确保本地的数据正确。 例如,如果只是在 Microsoft 365 中管理电子邮件地址,而没有在本地 AD DS 中对其进行更新,则会丢失 Microsoft Entra ID / Microsoft 365 中存在、但在 AD DS 中不存在的所有值。

重要

如果使用密码同步(快速设置始终会使用它),则 Microsoft Entra ID 中的密码会被本地 AD 中的密码覆盖。 如果用户经常管理不同的密码,则在安装 Connect 后,需要告知他们使用本地密码。

在规划过程中,必须考虑上一部分的内容和警告。 如果在 Microsoft Entra ID 中做了大量更改,但这些更改未反映在本地 AD DS 中,那么为了防止数据丢失,在使用 Microsoft Entra Connect 同步对象之前,需要规划好如何用 Microsoft Entra ID 更新的值填充 AD DS。

如果使用软匹配匹配了对象,则 sourceAnchor 已添加到 Microsoft Entra ID 中的对象,因此以后可以使用硬匹配。

重要

Microsoft 强烈建议不要将本地帐户与 Microsoft Entra ID 中已有的管理帐户同步。

硬匹配与软匹配

默认情况下,Microsoft Entra Connect 使用 MsDs-ConsistencyGUID 属性(或 ObjectGUID,具体取决于配置)从本地 Active Directory 计算“abcdefghijklmnopqrstuv==”的 SourceAnchor 值。 此属性值是 Microsoft Entra ID 中的对应 ImmutableId。 当 Microsoft Entra Connect(同步引擎)添加或更新对象时,Microsoft Entra ID 使用与 Microsoft Entra ID 中存在对象的 ImmutableId 属性对应的 sourceAnchor 值匹配传入对象。 如果存在匹配项,Microsoft Entra Connect 将接管该对象,并使用传入的本地 Active Directory 对象的属性进行更新,该对象被称为硬匹配。”当 Microsoft Entra ID 找不到任何与 SouceAnchor 值匹配的 ImmutableId 的对象时,它会尝试使用传入对象的 userPrincipalName 或主 ProxyAddress 在所谓的 *“soft-match”中找到匹配项。” 软匹配尝试匹配 Microsoft Entra ID 中已存在和托管的对象,并添加或更新表示同一实体本地的新传入对象。 如果 Microsoft Entra ID 找不到传入对象的 hard-match 或 soft-match,则会在 Microsoft Entra ID 目录中预配一个新对象。 我们添加了一个配置选项来禁用 Microsoft Entra ID 中的硬匹配功能。 建议客户禁用硬匹配,除非他们需要它来接管仅限云的帐户。

若要禁用硬匹配,请使用 Update-MgDirectoryOnPremiseSynchronization Microsoft Graph PowerShell cmdlet:

Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID' -Scopes "OnPremDirectorySynchronization.ReadWrite.All"

$OnPremSync = Get-MgDirectoryOnPremiseSynchronization
$OnPremSync.Features.BlockCloudObjectTakeoverThroughHardMatchEnabled = $true
Update-MgDirectoryOnPremiseSynchronization `
    -OnPremisesDirectorySynchronizationId $OnPremSync.Id `
    -Features $OnPremSync.Features

同样地,我们添加了一个配置选项来禁用 Microsoft Entra ID 中的软匹配功能。 建议客户禁用软匹配,除非他们需要它来接管仅限云的帐户。

若要禁用软匹配,请使用 Update-MgDirectoryOnPremiseSynchronization Microsoft Graph PowerShell cmdlet:

Connect-MgGraph -Environment China -ClientId 'YOUR_CLIENT_ID' -TenantId 'YOUR_TENANT_ID' -Scopes "OnPremDirectorySynchronization.ReadWrite.All"

$OnPremSync = Get-MgDirectoryOnPremiseSynchronization
$OnPremSync.Features.BlockSoftMatchEnabled = $true
Update-MgDirectoryOnPremiseSynchronization `
    -OnPremisesDirectorySynchronizationId $OnPremSync.Id `
    -Features $OnPremSync.Features

注意

BlockCloudObjectTakeoverThroughHardMatchEnabled 和 BlockSoftMatchEnabled 用于阻止为租户启用的所有对象的匹配。 建议客户仅在租赁需要匹配过程期间禁用这些功能。 在任何匹配已完成且不再需要后,应将此标志再次设为 True

除用户以外的其他对象

对于启用了邮件的组和联系人,可以根据 proxyAddresses 进行软匹配。 硬匹配不适用,因为只能对用户更新 sourceAnchor/immutableID(使用 PowerShell)。 对于未启用邮件的组,目前不支持软匹配和硬匹配。

管理员角色注意事项

为了防止不受信任的本地用户,Microsoft Entra ID 不会将具有管理员角色的云用户与本地用户匹配。 此行为是默认方式。 要解决此问题,可以执行以下步骤:

  1. 从仅限云的用户对象中删除目录角色。
  2. 硬删除云中已隔离的对象。
  3. 触发同步。
  4. (可选)可以在进行匹配以后将目录角色添加回云中的用户对象。

基于 Microsoft Entra ID 中的数据创建新的本地 Active Directory

某些客户最初在 Microsoft Entra ID 中使用仅限云的解决方案,而没有构建本地 AD。 后来,他们想要使用本地资源,并希望基于 Microsoft Entra 数据构建本地 AD。 Microsoft Entra Connect 无法帮助解决这种情况。 它不会创建本地用户,并且没有能力将本地密码设置为与 Microsoft Entra ID 中的密码相同。

如果你计划添加本地 AD 的唯一原因是支持 LOB(业务线应用),也许应该考虑改用 Microsoft Entra 域服务

后续步骤

详细了解如何将本地标识与 Microsoft Entra ID 集成