本文介绍通用 LDAP 连接器。 本文适用于以下产品:
- Microsoft Identity Manager 2016 (MIM2016)
- Microsoft Entra ID
对于MIM2016,连接器可从 Microsoft下载中心下载。
引用 IETF RFC 时,本文档使用格式(RFC [RFC 数字]/[RFC 文档中的节]),例如(RFC 4512/4.3)。 可在 https://tools.ietf.org/ 中查看详细信息。 在左侧面板中,在 Doc 提取 对话框中输入 RFC 编号,并对其进行测试以确保其有效。
注释
Microsoft Entra ID 现在提供了一种基于轻型代理的解决方案,用于将用户预配到 LDAPv3 服务器,而无需 MIM 同步部署。 我们建议将其用于外部用户配置。 了解详细信息。
通用 LDAP 连接器概述
使用通用 LDAP 连接器可将同步服务与 LDAP v3 服务器集成。
IETF RFC 中未指定某些操作和架构元素,例如执行增量导入所需的这些元素。 对于这些操作,仅支持显式指定的 LDAP 目录。
若要连接到目录,我们使用根/管理员帐户进行测试。 若要使用不同的帐户应用更精细的权限,可能需要与 LDAP 目录团队一起查看。
连接器的当前版本支持以下功能:
功能 / 特点 | 支持 |
---|---|
连接的数据源 | 所有 LDAP v3 服务器(符合 RFC 4510 标准)都支持该连接器,除非注明为不支持。 它已使用这些目录服务器进行测试:
|
方案 | |
操作 | 所有 LDAP 目录都支持以下操作: |
图式 |
增量导入与密码管理支持
增量导入和密码管理的支持目录:
- Microsoft Active Directory 轻型目录服务 (AD LDS)
- 支持增量导入的所有操作
- 支持设置密码
- Microsoft Active Directory 全局目录 (AD GC)
- 支持增量导入的所有操作
- 支持设置密码
- 389 目录服务器
- 支持增量导入的所有操作
- 支持设置密码和更改密码
- Apache Directory 服务器
- 不支持增量导入,因为此目录没有永久性更改日志
- 支持设置密码
- IBM Tivoli DS
- 支持增量导入的所有操作
- 支持设置密码和更改密码
- Isode 目录
- 支持增量导入的所有操作
- 支持设置密码和更改密码
- Novell eDirectory 和 NetIQ eDirectory
- 支持增量导入的添加、更新和重命名操作
- 不支持增量导入的删除操作
- 支持设置密码和更改密码
- Open DJ
- 支持增量导入的所有操作
- 支持设置密码和更改密码
- 打开 DS
- 支持增量导入的所有操作
- 支持设置密码和更改密码
- 打开 LDAP (openldap.org)
- 支持增量导入的所有操作
- 支持设置密码
- 不支持更改密码
- Oracle (以前为 Sun)目录服务器企业版
- 支持增量导入的所有操作
- 支持设置密码和更改密码
- RadiantOne 虚拟目录服务器 (VDS)
- 必须使用版本 7.1.1 或更高版本
- 支持增量导入的所有操作
- 支持设置密码和更改密码
- Sun One Directory 服务器
- 支持增量导入的所有操作
- 支持设置密码和更改密码
先决条件
在使用连接器之前,请确保在同步服务器上具有以下内容:
- Microsoft .NET 4.6.2 Framework 或更高版本
部署此连接器可能需要更改目录服务器的配置,以及 MIM 的配置更改。 对于在生产环境中将 MIM 与第三方目录服务器集成的部署,我们建议客户与其目录服务器供应商或部署合作伙伴合作,以获取此集成的帮助、指导和支持。
检测 LDAP 服务器
连接器依赖于各种技术来检测和标识 LDAP 服务器。 连接器使用根 DSE、供应商名称/版本,并检查架构以查找某些 LDAP 服务器中已知存在的唯一对象和属性。 如果找到此数据,则用于在连接器中预填充配置选项。
连接的数据源权限
若要对连接目录中的对象执行导入和导出作,连接器帐户必须具有足够的权限。 连接器需要写入权限才能导出和读取权限才能导入。 权限设置是在目标目录本身的管理体验内执行。
端口和协议
连接器使用配置中指定的端口号,默认情况下 LDAP 的端口为 389,LDAPS 的端口为 636。
对于 LDAPS,必须使用 SSL 3.0 或 TLS。 SSL 2.0 不受支持,无法激活。
所需的控件和功能
LDAP 服务器上必须提供以下 LDAP 控件/功能,以便连接器正常工作:
1.3.6.1.4.1.4203.1.5.3
True/False 筛选器
True/False 筛选器通常未被报告为受 LDAP 目录支持,可能会显示在全局页面中的未找到的强制功能下面。 它用于在 LDAP 查询中创建 或 筛选器,例如导入多个对象类型时。 如果可以导入多个对象类型,则 LDAP 服务器支持此功能。
如果使用唯一标识符为定位点的目录,则还必须提供以下功能(有关详细信息,请参阅 配置定位点 部分):
1.3.6.1.4.1.4203.1.5.1
所有操作属性
如果目录具有的对象多于对目录的一次调用中可以容纳的对象,则建议使用分页。 若要使分页正常工作,需要使用以下选项之一:
选项 1:
1.2.840.113556.1.4.319
pagedResultsControl
选项 2:
2.16.840.1.113730.3.4.9
VLVControl
1.2.840.113556.1.4.473
排序控制
如果在连接器配置中启用了这两个选项,则使用 pagedResultsControl。
1.2.840.113556.1.4.417
显示已删除控件
ShowDeletedControl 仅在与 USNChanged 增量导入方法一起使用时才能查看已删除的对象。
连接器尝试检测服务器上存在的选项。 如果无法检测到这些选项,连接器属性中的“全局”页上会显示警告。 并非所有 LDAP 服务器都提供它们支持的所有控件/功能,即使存在此警告,连接器也可能无法正常工作。
增量导入
仅在检测到支持增量导入的目录时,增量导入才可用。 当前使用以下方法:
- LDAP Accesslog。 请参阅http://www.openldap.org/doc/admin24/overlays.html#Access日志记录
- LDAP 更改日志。 请参见http://tools.ietf.org/html/draft-good-ldap-changelog-04
- 时间戳。 对于 Novell/NetIQ eDirectory,连接器使用上次的日期/时间来创建和更新对象。 Novell/NetIQ eDirectory 不提供检索已删除对象的等效方式。 如果 LDAP 服务器上没有其他增量导入方法处于活动状态,也可以使用此选项。 此选项无法导入已删除的对象。
- USNChanged。 请参阅:https://msdn.microsoft.com/library/ms677627.aspx
不支持
不支持以下 LDAP 功能:
- 服务器之间的 LDAP 引荐 (RFC 4511/4.1.10)
创建新的连接器
若要创建通用 LDAP 连接器,请在 同步服务 选择 管理代理,创建。 选择 泛型 LDAP(Microsoft) 连接器。
连接性
在“连接”页上,必须指定主机、端口和绑定信息。 根据选择的绑定,以下部分可能会提供其他信息。
- “连接超时”设置仅用于检测架构时第一次连接服务器。
- 如果绑定为匿名,则既不使用用户名/密码,也不使用证书。
- 对于其他绑定,请在用户名/密码中输入信息,或选择证书。
- 如果您使用 Kerberos 身份验证,请同时提供用户的领域或域名。
属性别名文本框用于以 RFC4522 语法在架构中定义的属性。 在架构检测过程中无法检测这些属性,连接器需要单独配置这些属性。 例如,必须在属性别名框中输入以下字符串,才能将 userCertificate 属性正确标识为二进制属性:
userCertificate;binary
下表举例说明此配置的外观:
选中在架构中包含操作属性复选框以包括由服务器创建的属性。 其中包含对象的创建时间和上次更新时间等属性。
如果使用可扩展对象(RFC4512/4.3),则选择 在架构 包含可扩展属性,并且启用此选项允许在所有对象上使用每个属性。 选择此选项会使架构变得很大,因此除非连接的目录使用此功能,否则建议不要选择此选项。
全局参数
在“全局参数”页上,你可以将 DN 配置为增量更改日志和其他 LDAP 功能。 该页面预先填充了 LDAP 服务器提供的信息。
顶部部分显示服务器本身提供的信息,例如服务器的名称。 连接器还会验证根 DSE 中是否存在强制控制措施。 如果未列出这些控件,会显示警告。 某些 LDAP 目录不会列出根 DSE 中的所有功能,即使存在警告,连接器也有可能正常工作。
支持的控件 复选框用于控制某些操作的行为。
- 选中树删除后,会通过一个 LDAP 调用删除层次结构。 在未选中树删除的情况下,连接器会根据需要执行递归删除。
- 选择分页结果后,连接器会按照运行步骤中指定的大小进行分页导入。
- VLVControl 和 SortControl 是 pagedResultsControl 的替代方法,用于从 LDAP 目录读取数据。
- 如果没有选择这三个选项 (pagedResultsControl、VLVControl 和 SortControl),连接器会在一次操作中导入所有的对象,如果它是一个大型目录,则可能会失败。
- 仅当增量导入方法为 USNChanged 时,才使用 ShowDeletedControl。
更改日志 DN 是增量更改日志使用的命名上下文,例如 cn=changelog。 必须指定此值才能执行增量导入。
下表是默认更改日志 DN 的列表:
目录 | 增量更改日志 |
---|---|
Microsoft AD LDS 和 AD GC | 自动检测。 USNChanged。 |
Apache Directory 服务器 | 暂无 |
目录 389 | 更改日志。 要使用的默认值:cn=changelog |
IBM Tivoli DS | 更改日志。 要使用的默认值:cn=changelog |
Isode 目录 | 更改日志。 要使用的默认值:cn=changelog |
Novell/NetIQ eDirectory | 暂无 时间戳。 连接器使用上次更新的日期/时间来添加和更新记录。 |
Open DJ/DS | 更改日志。 要使用的默认值:cn=changelog |
打开 LDAP | 访问日志。 要使用的默认值:cn=accesslog |
Oracle DSEE | 更改日志。 要使用的默认值:cn=changelog |
RadiantOne VDS | 虚拟目录。 取决于与 VDS 连接的目录。 |
Sun One Directory 服务器 | 更改日志。 要使用的默认值:cn=changelog |
密码属性是连接器在密码更改和密码设置作中设置密码时应使用的属性的名称。 此值默认设置为 userPassword,但当特定 LDAP 系统需要时可以更改。
在其他分区列表中,可以添加未自动检测到的其他命名空间。 例如,如果有多个应同时一起导入的服务器构成了一个逻辑群集,则可以使用此设置。 就如同 Active Directory 可以在一个林中有多个域,而所有域都共享一个架构,在此框中输入其他命名空间就可以模拟此状况。 每个命名空间都可以从不同的服务器导入,并在“配置分区和层次结构”页上进行进一步配置。 使用 Ctrl+Enter 获取新行。
配置预配层次结构
此页面用于将 DN 组件(例如 OU)映射到应预配的对象类型,例如 organizationUnit。
通过配置预配层次结构,可以将连接器配置为在需要时自动创建结构。 例如,如果有命名空间 namespace dc=contoso,dc=com,并且配置了一个新的对象 cn=Joe, ou=Seattle, c=US, dc=contoso, dc=com,则连接器可能会为美国创建一个类型为国家/地区的对象,并在目录中尚未存在 organizationalUnit 时,可能会为西雅图创建一个 organizationalUnit。
配置分区和层次结构
在分区和层次结构页上,选择要导入和导出的对象的所有命名空间。
对于每个命名空间,还可以配置连接设置,这些设置将覆盖“连接”屏幕上指定的值。 如果这些值保留为空白的默认值,则将使用“连接屏幕”中的信息。
还可以选择连接器要从哪些容器和 OU 中导入数据以及导出到哪些容器和 OU。
执行搜索时,会跨分区中的所有容器执行此作。 如果存在大量容器,则此行为会导致性能下降。
注释
从 2017 年 3 月更新开始,通用 LDAP 连接器搜索的范围只能限制为所选容器。 为此,可以选中复选框“仅在所选容器中搜索”,如下图所示。
配置定位点
此页面始终具有预配置值,无法更改。 如果已标识服务器供应商,则定位点可能会填充不可变属性,例如对象的 GUID。 如果未检测到它或已知没有不可变属性,则连接器使用 dn (可分辨名称) 作为定位点。
下表是 LDAP 服务器和正在使用的定位点的列表:
目录 | 定位点属性 |
---|---|
Microsoft AD LDS 和 AD GC | objectGUID |
389 目录服务器 | dn |
Apache Directory | dn |
IBM Tivoli DS | dn |
Isode 目录 | dn |
Novell/NetIQ eDirectory | GUID |
Open DJ/DS | dn |
打开 LDAP | dn |
Oracle ODSEE | dn |
RadiantOne VDS | dn |
Sun One Directory 服务器 | dn |
其他说明
本部分提供特定于此连接器或出于其他原因需要了解的方面的信息。
增量导入
Open LDAP 中的增量水印是 UTC 日期/时间。 因此,FIM 同步服务和开放 LDAP 之间的时钟必须同步。 如果不是,可能会省略增量更改日志中的某些条目。
对于 Novell eDirectory,增量导入无法检测到任何对象删除操作。 因此,必须定期运行完整导入来查找所有已删除的对象。
对于具有基于日期/时间的增量更改日志的目录,强烈建议定期运行完全导入。 此过程允许同步引擎在 LDAP 服务器与当前连接器空间中的内容之间识别差异。
故障排除
- 有关如何启用日志记录以排查连接器问题的信息,请参阅 如何为连接器启用 ETW 跟踪。