Microsoft Entra Connect 同步:目录扩展

通过目录扩展,可以使用本地 Active Directory 中的属性扩展 Microsoft Entra ID 中的架构。 此功能允许使用继续在本地管理的属性来构建 LOB 应用。 可通过扩展使用这些属性。 可以使用 Microsoft Graph 资源管理器Microsoft Graph PowerShell SDKMicrosoft Entra PowerShell 查看可用属性。 目前,Microsoft 365 工作负荷不使用这些属性,但可以将此功能与 Microsoft Entra ID 中的动态组成员身份一起使用。

选择要与 Microsoft Entra ID 同步的属性

在自定义设置中配置想要使用 Microsoft Entra Connect 配置向导同步的扩展属性。

架构扩展向导

向导显示了与目录扩展一起使用的有效候选属性:

  • “用户”和“组”对象类型
  • 单值属性:String、Boolean、Integer、Binary
  • 多值属性:String、Binary

使用目录扩展时的重要注意事项

  • 属性列表在初始安装 Microsoft Entra Connect 期间从 Active Directory 架构中读取。 如果使用更多自定义属性扩展 Active Directory 架构,则必须在显示这些新属性之前 刷新架构

  • 如果导出了包含用于同步目录扩展属性的自定义规则的配置,并且尝试将此规则导入到 Microsoft Entra Connect 的新安装或现有安装中,则会在导入期间创建该规则,但不会映射目录扩展属性。 需要重新选择目录扩展属性并将其与规则重新关联,或完全重新创建规则以解决此问题。

  • 不是 Microsoft Entra ID 中的所有功能都支持多值扩展属性。 请查阅您计划使用这些属性的功能的文档,以确认它们是否受到支持。

  • Microsoft Entra ID 中的对象最多可以有 100 个目录扩展属性。 最大长度为 250 个字符。 如果属性值更长,则同步引擎会将其截断。

  • 不支持同步构造的属性,例如 msDS-UserPasswordExpiryTimeComputed。 如果从旧版本的 Microsoft Entra Connect 升级,则安装向导中仍可能会显示这些属性,因此不应启用它们,因为其值不会同步到 Microsoft Entra ID。 学习模式

  • 不支持同步非复制属性,例如 badPwdCount、Last-Logon 和 Last-Logoff,因为其值不会同步到 Microsoft Entra ID。

  • 不支持在 Microsoft Entra Connect 向导之外管理本地目录扩展。 手动编辑或克隆目录扩展的同步规则可能会导致同步问题。

  • 不支持将Microsoft Entra Connect 中的属性值同步到Microsoft Entra Connect 未创建的扩展属性。 这样做可能会产生性能问题和意外结果。

向导在 Microsoft Entra ID 中进行的配置更改

在安装 Microsoft Entra Connect 期间,一个应用程序被注册用于配置这些属性。 可以在 Microsoft Entra 管理中心看到此应用程序,其名称为 租户架构扩展应用。 请确保选择 “所有应用程序 ”以查看此应用。

架构扩展应用

注意

租户架构扩展应用是无法删除的系统专用应用程序。 删除与 租户架构扩展应用 关联的服务主体会中断同步。 若要恢复目录扩展同步,请还原软删除的服务主体或重新创建新服务主体。

查看Microsoft Entra ID 中的扩展属性

扩展属性的格式是 extension_{ApplicationId}_<attributeName>,其中 ApplicationId 是 租户架构扩展应用的应用程序标识符。 本主题中所有其他方案都需要此值。

使用 Microsoft Graph API

这些属性可通过Microsoft图形 API 使用 Microsoft Graph 资源管理器获得。

在 Microsoft Graph API 中,你需要请求要返回的属性。 请按照如下方式显式选择属性:

https://graph.microsoft.com/beta/users/abbie.spencer@fabrikamonline.com?$select=extension_9d98ed114c4840d298fad781915f27e4_employeeID,extension_9d98ed114c4840d298fad781915f27e4_division

有关详细信息,请参阅 Microsoft Graph: Use query parameters(Microsoft Graph:使用查询参数)。

使用 Microsoft Graph PowerShell SDK

  1. 获取 租户架构扩展应用 应用程序:
Get-MgApplication -Filter "DisplayName eq 'Tenant Schema Extension App'"
  1. 列出 租户架构扩展应用的所有扩展属性:
Get-MgDirectoryObjectAvailableExtensionProperty
  1. 列出用户对象的所有扩展属性:
(Get-MgBetaUser -UserId "<Id or UserPrincipalName>").AdditionalProperties

使用 Microsoft Entra PowerShell

  1. 获取 租户架构扩展应用 应用程序标识符:
Get-EntraApplication -SearchString "Tenant Schema Extension App"
  1. 列出 租户架构扩展应用应用程序的所有扩展 属性:
Get-EntraExtensionProperty | Where-Object {$_.AppDisplayName -eq 'Tenant Schema Extension App'}
  1. 列出用户对象的所有扩展属性:
Get-EntraUserExtension -UserId "<Id or UserPrincipalName>"

在动态成员资格组中使用属性

最有用的情景之一是在动态安全组或Microsoft 365 组别中使用扩展属性。

  1. 在 Microsoft Entra ID 中创建一个新组。 为它指定一个名称,并确保 成员身份类型动态用户

    屏幕截图,其中显示了一个新组

  2. 选择添加动态查询。 查看属性时,缺少这些扩展属性,因为需要先添加它们。 单击“获取自定义扩展属性”,输入应用程序 ID,然后单击“刷新属性”

    屏幕截图,其中显示已添加了目录扩展

  3. 打开属性下拉列表,此时可观察到你已添加的属性现在可见。

    屏幕截图,其中新属性显示在 UI 内

  4. 若要满足你的要求,请完成表达式。 在我们的示例中,规则设置为:

    (user.extension_9d98ed114c4840d298fad781915f27e4_division -eq "Sales and marketing")

  5. 创建组后,请为 Microsoft Entra 提供一些时间来填充成员,然后查看成员。

    屏幕截图,其中显示了动态组中的成员

后续步骤

详细了解 Microsoft Entra Connect 同步配置。

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