从Microsoft Entra ID预配到Active Directory的工作原理(预览版)

本文介绍如何在将用户、组和成员身份从Microsoft Entra ID预配到本地Active Directory 域服务(AD DS)时,Microsoft Entra云同步预配引擎处理对象。 了解此行为有助于规划部署、预测创建、更新或删除时发生的情况,以及排查意外结果问题。

有关该功能及其支持的方案的简介,请参阅从Microsoft Entra ID到Active Directory的预配概述。

预配流程

Microsoft Entra ID是权威来源。 在每个同步周期中,预配服务:

  1. 读取范围。 它根据 范围筛选器确定哪些用户和组在范围内。
  2. 匹配。 对于每个作用域内对象,它查找要更新的现有 AD 对象。 有关详细信息,请参阅 匹配的工作原理。
  3. 应用属性映射。 它使用已配置的属性映射将 Microsoft Entra ID 属性转换成 AD 属性。
  4. 写入。 它通过云同步预配代理创建、更新或删除 AD 对象,该代理将请求转换为轻型目录访问协议 (LDAP) 操作。

预配服务以增量方式处理变更。 仅评估自上一个周期以来发生更改的对象,从而使增量周期保持高效。

匹配的工作原理

引擎使用持久定位点,而不是名称或可分辨名称,因此可以在不中断链接的情况下重命名或移动对象。

  • 预配服务会在其预配的每个对象上标记User_<objectId>(用户为Group_<objectId>,组为msDS-ExternalDirectoryObjectId)。 此属性是Microsoft Entra ID对象与其 AD 对应项之间的联接定位点。
  • 在每个周期中,引擎会在目标域中搜索与源对象匹配的 msDS-ExternalDirectoryObjectId AD 对象。
    • 找到匹配项 → 现有 AD 对象会被就地更新。
    • 找不到匹配项 → 在目标容器中创建一个新的 AD 对象。

这种先匹配再创建的行为意味着预配过程是幂等的。 重新运行循环不会为同一Microsoft Entra ID标识创建重复对象。

注释

msDS-ExternalDirectoryObjectId和相关定位点属性由服务管理,在Microsoft Entra 管理中心中不可编辑。

如何预配用户

  • 云原生用户 作为目标容器中的新 AD 用户对象创建。
  • 将授权源(SOA)转换为云 的用户将与其现有的 AD 对象匹配并就地更新。 其 原始组织单位(OU)由 默认目标容器表达式保留,因此云更新会流回到用户的原始位置。 有关详细信息,请参阅 配置目标容器。
  • 如果需要,可以将企业到企业(B2B)来宾用户预配到 AD 中。
  • 通过保留 SOA 转换用户上的安全标识符(SID)等关键属性来维护标识连续性。

由于在填充该属性时,用户的本地位置派生自其 onPremisesDistinguishedName 属性,因此你配置的目标容器仅适用于还没有该位置的用户。 若要移动已预配的用户,请参阅 将预配的用户移动到其他组织单位。

用户 SOA 场景

下表说明了针对两种预配方向,如何根据用户的授权源来预配用户。

用例 用户SOA 同步方向 同步的工作原理
没有 AD 帐户的云原生用户 云 Microsoft Entra ID 到 AD 在配置的目标容器中创建新的 AD 用户。
已转换为 SOA 的用户 云 Microsoft Entra ID 到 AD 匹配现有 AD 用户并就地更新该用户。 保留原始 OU 和 SID。
B2B 来宾用户 云 Microsoft Entra ID 到 AD 当来宾用户属于处理范围时,创建 AD 用户。
同步的用户 On-premises Microsoft Entra ID 到 AD 不预配用户。 Active Directory仍然具有权威性。
同步的用户 On-premises 从 AD 到 Microsoft Entra ID 将用户预配到 Microsoft Entra ID。
已转换为 SOA 的用户 云 从 AD 到 Microsoft Entra ID 不预配用户。 由于以云端为权威源,直接在 AD 中所做的更改会被忽略。

写回 Microsoft Entra ID 的本地属性

当 Cloud Sync 将用户预配到Active Directory时,它会将生成的本地值写回到Microsoft Entra ID中的用户对象:

Attribute 写回的值
onPremisesDistinguishedName AD 用户对象的可分辨名称(DN),其中包括其 OU 路径。
onPremisesSamAccountName 分配给 AD 用户对象的 SAM 帐户名称。
onPremisesSecurityIdentifier AD 用户对象的安全标识符 (SID)。
onPremisesUserPrincipalName AD 用户对象的用户主体名称(UPN)。
onPremisesDomainName 用户被预配到的 AD 域。

这种回写就是为什么云原生用户在首次预配周期后会有一个 onPremisesDistinguishedName 值。

属性更新

在 Microsoft Entra ID 中所做的属性更改会在下一个周期同步到 AD。 由于 云是事实来源,因此,在 AD 中直接对管理的属性所做的更改可能会在下一个同步周期内被覆盖。

如何预配组和成员身份

  • 仅预配安全组。 不支持电子邮件的组和通讯组不受支持。
  • 组将预配为 通用安全组,并通过同一 msDS-ExternalDirectoryObjectId 锚点进行匹配。
  • 成员身份按每个成员分别确定。 仅当该成员具有 AD 帐户时,才会写入成员引用。 当配置还预配用户且该成员处于范围内时,云托管成员会获得一个 AD 帐户。 是否预配父组本身取决于其权威源。
  • 默认情况下,向本地用户预配成员身份处于关闭状态,必须在范围向导中显式启用。 请参阅 本地用户的组成员身份。
  • 没有符合条件成员的范围内组会以空成员身份进行预配。

组成员身份 SOA 场景

对象在被预配之前必须处于作用域内,这同样适用于用户和组。 仅当成员具有可供引用指向的 AD 帐户时,才会写入成员引用。 本地同步成员已有一个。 仅当配置还预配用户且该成员处于范围内时,云托管成员才会获得 AD 帐户。 因此,在同时预配这两者的配置中,选择一个组,该组的成员为你要预配的用户。 在仅限组的配置中,云托管成员没有 AD 帐户,因此无法写入其成员身份引用。

下表说明了当源为 Microsoft Entra ID 时如何预配组成员资格。

Configuration SOA 父组 成员用户 SOA 同步的工作原理
仅限群组 云 On-premises 为该组预配所有成员引用。 这些成员已经拥有通过目录同步获得的 AD 帐户。
仅限群组 云 云 预配没有成员引用的组。
仅限群组 云 Mixed 预配该组,并且仅包含本地成员的成员引用。
用户和用户组 云 On-premises 为该组预配所有成员引用。
用户和用户组 云 云 预配该组,为每个范围内成员创建 AD 帐户,并写入所有成员引用。
用户和用户组 云 Mixed 为该组预配所有成员引用。 本地部署成员已拥有 AD 帐户,而纳入范围的云托管成员则通过用户预配获得 AD 帐户。

Important

仅当启用本地用户的成员身份预配时,写入本地成员引用的行才适用。 默认情况下,此设置处于关闭状态。 在范围界定向导的“配置组成员身份”步骤中启用它,如“本地用户的组成员身份”中所述。

下表说明了当源为 Active Directory 时如何预配组成员身份。

SOA 父组 成员用户 SOA 同步的工作原理
On-premises On-premises 为该组预配所有成员引用。
On-premises 云 预配该组并包含所有成员引用,包括 SOA 已转换到云的成员。
On-premises Mixed 预配该组并包含所有成员引用,包括 SOA 已转换到云的成员。
On-premises None 预配一个空组。
云 任意 不预配该组。

嵌套组的成员关系行为

作业 AAD2ADGroupProvisioning 处理嵌套组成员身份引用,如下表所述。

用例 父组类型 成员组类型 同步的工作原理
Microsoft Entra 父安全组的成员仅包括 Microsoft Entra 安全组成员。 Microsoft Entra安全组 Microsoft Entra安全组 为父组配置所有成员组引用。
Microsoft Entra 父级安全组具有已同步的组成员。 Microsoft Entra安全组 同步的 AD DS 安全组 预配父组,但未预配 AD DS 组引用。
Microsoft Entra 父级安全组具有 SOA 已转换到云端的同步组成员。 Microsoft Entra安全组 经 SOA 转换的 AD DS 安全组 为父组配置所有成员组引用。
转换以云拥有组为成员的同步父组的 SOA。 经 SOA 转换的 AD DS 安全组 Microsoft Entra安全组 为父组配置所有成员组引用。
将具有其他同步组作为成员的已同步父组的 SOA 进行转换。 经 SOA 转换的 AD DS 安全组 同步的 AD DS 安全组 预配父组,但未预配 AD DS 组引用。
转换其成员为其他 SOA 转换组的同步父组的 SOA。 经 SOA 转换的 AD DS 安全组 经 SOA 转换的 AD DS 安全组 为父组配置所有成员组引用。

删除的工作原理

删除行为取决于对象类型和生命周期事件。 可以禁用 AD 用户帐户,但 AD 组没有禁用状态。

Microsoft Entra ID中的触发器 在 Active Directory 中的影响
用户已被软删除 已禁用匹配的 AD 用户帐户。
用户被硬删除 将删除匹配的 AD 用户帐户。
用户超出范围 已禁用匹配的 AD 用户帐户。
一个组已被硬删除 匹配的 AD 组已被删除。
成员已从Microsoft Entra ID中的组中删除 相应的成员引用项已从 AD 组中删除。

Warning

在生产环境中应用测试配置之前,请验证测试配置中的作用域更改。 当对象离开范围时,请查看预配日志以确认生成的操作。 不能禁用 AD 组,因此不要对组应用用户取消预配行为。

密码回写

可将 Microsoft Entra ID 中的密码更改同步到匹配 AD 帐户的“密码写回”功能不适用于云管理用户。 这些用户可以使用预配创建的 AD 帐户通过无密码身份验证访问基于 Kerberos 的应用程序。 有关详细信息,请参阅 云托管用户如何登录到应用程序。

同步频率

预配服务按定期计划运行。 每个周期都会以增量方式检测到变更。

常见任务

以下任务已在配置向 Active Directory 预配中进行了分步介绍。

Task Description
将预配的用户移动到其他组织单位 更改已预配的用户的 OU。
保留组的原始组织单位 将已转换为 SOA 的组保留在其当前所在的 OU 中。
保留组的原始公用名 保留 SOA 转换组的现有名称。
回滚已转换为 SOA 的用户或组 将对象返回到本地控件。

后续步骤