LDAP(AD域)数据同步集成

最后更新:2021-12-06

所有数据同步集成方案的实现使用IDP中的Connector组件来完成。
此处的数据指:组织机构数据,账户数据与组数据(组数据可选,没有不影响同步功能)。

1. 场景描述

image.png

应用场景图描述:

(1)管理员在IDsConnector系统中创建同步任务,同步任务的触发可设置为手动或自动两种方式;

(2)触发同步任务后IDsConnector系统通过LDAP协议对LDAP服务器/AD域进行用户数据的拉取;

(3)IDsConnector系统会将拉取到的用户数据通过SCIM的方式推送IDP4/IDP2系统中。

2. 支持的对象

支持同步组织机构、用户。

3. 同步模式

使用connector配置AD到IDP4的同步,同步计划配置为:

image.png

  • 同步模式为:主动拉取;

  • 同步模型为:活动目录模式;

其他参数配置如定时同步、多线程等可以根据下列说明选择开启或关闭。

  • 数据接收方式

    • 主动拉取:来源如果提供接口,可以让connector主动调用接口来拉取数据,则选择主动拉取模式。

    • 被动接收:来源如果没有提供接口可以让connector调用拉取数据,但是有向connector推送数据的能力的话,可以选择被动接收模式。 比如IDP推送账户到RAM的时候,因为IDP没有提供拉取数据的接口。同步这个操作是从IDP发起的,所以在connector配置的时候就需要选择被动接收模式。 也因为 connector 只能等 IDP 主动推送数据,所以同步计划这边的其他配置项就没有意义了,选在被动接收的时候其他的配置项会在前端进行隐藏。

image.png

  • 数据拉取模式

    • 活动目录模式:在拉取AD数据的时候,是逐层递归拉取的。不需要考虑子级机构的问题,直接将拉取到的机构和账户推送到下游。

    • 经典模式:全量拉取到机构后,在connector中重新组成有序的机构树,然后再向下游推送数据。确保不会因为父级组织机构没有推送导致子级组织机构推送失败。

  • 线程模式

    • 独享线程池:独占一定的线程数,使用这些线程并发进行同步。

    • 共享线程池:与其他同步任务共享所有的线程。

    • 不适用线程池:数据一个一个推送,不会出现父级机构不存在导致的失败,但比较慢。

  • 仅同步用户使用线程池:使用线程池之后会出现该选项。 开启后,会一个一个推送机构,机构推送完成之后。再使用线程池进行账户的推送。机构全部推完之后,账户与账户之间是没有层级关系的,所以可以使用线程池并发推送账户,提高数据同步的效率。

  • 是否允许并发调度:开启之后允许多线程并发执行同步。

  • 是否开启定时同步:配置完成后可以周期或在设定的时间点执行同步任务。不需要手动执行。

4. Connector配置方式

image.png

说明配置流程如上。如果没有特殊需求,可以跳过创建映射模板操作,直接使用connector内置的映射模板,或者再创建同步任务中进行调整。

4.1. 新建同步来源

1.登录 connector 之后,在来源管理页面点击新建同步来源。

image.png

2.配置同步来源。

以我们的测试AD为例,测试AD的连接信息如下:

  • AD服务器地址地址:123.56..

  • 端口号:389

  • Base DN:dc=jzyt,dc=com

  • 管理员DN:cn=xxxx,CN=Users,DC=jzyt,DC=com

  • 管理员密码: xxxx

来源管理配置如图:

image.png

  • 来源名称:随意填写,注意唯一性即可;

下面还有一个环境的选择,默认是开发环境。需要注意的是来源和目标的环境必须是一样的,否则不会执行同步任务。

image.png

  • 来源主类型:LDAP

  • 来源子类型:选择WINDOWS_AD

  • 服务器地址:AD服务器的地址,如上面的123.56..

  • 端口号:一般是389,如果AD配置的636端口也可以使用636。

  • 连接方式:389则不勾选SSL连接

  • 默认域:AD的域名,如下图

image.png

  • 查询基准DN:可以理解为拉取的账户/机构的范围。 如果是全量拉取AD账户/机构,可以直接填写 dc=jzyt,dc=com。 如果是指定AD域中的某一个机构,可以填写 ou=0001,dc=jzyt,dc=com,再往下也是类似的。

  • 管理员DN/管理员密码:AD中的管理员账号和密码  管理员DN:cn=xxxx,CN=Users,DC=jzyt,DC=com 管理员密码:xxxx

  • 是否开启回收站查询功能:可以不用开启 原先设计是通过查询AD中的回收站来确认账户是否需要删除。后来改为通过对比中间表和拉取的账户列表进行判断,所以可以不用该功能。

  • 对象配置:WINDOWS_AD 对象配置是固定的,不用修改。

3.点击测试连接,确保连接的参数配置正确,然后点击保存。

4.2. 新建同步目标

1.先登录IDP,创建一个应用,并开启应用的API。

image.png

2.在connector的目标管理页面,点击新建同步目标。

image.png

3.配置同步目标参数。

目标管理配置如图:

image.png

  • 目标名称:随意填写,注意唯一性即可;还是需要注意一下选择的环境是否和来源管理的一致

image.png

  • 目标主类型:选择SCIM

  • 目标子类型:IDP4_SCIM

  • Basic URL:IDP 的域名或者IP,如 https://{IDaaS_server}

  • Client ID :IDP中创建的应用的API Key

  • Client Secret:IDP中创建的应用的API Secret

  • 版本号:固定为 v1.2(注意v需要小写!!)

4.点击测试连接,确保连接的参数配置正确,然后点击提交。

4.3. 映射模板

connector 中内置了一部分常用的映射模板,如果没有特殊需求的话可以直接使用。

image.png

映射属性对应如图,左侧是IDP的字段名,右侧是AD中的字段名。

image.png

4.4. 新建同步任务

1.在同步任务中点击新建同步任务。

image.png

2.在“同步来源”页签中选择之前创建的AD来源。

image.png

  • 来源根节点标识:在拉取钉钉/IDP数据时,可以用一个唯一标识来指定拉取的范围。 AD只需要填写好Base DN即可,不需要填写这个参数。

  • 同步范围:可以选择同步账户或者机构

    • 同步来源时AD/LDAP时,可以填写过滤条件,进一步细化拉取的范围。(填写方式) 3.在“同步目标”页签中选择之前创建的 IDP 目标。

image.png

  • 目标根节点标识:导入的IDP机构的外部ID

  • 默认密码:拉取AD账户到IDP时,IDP默认的登录的密码

  • 检测模式:开启之后,新增账户时会先向IDP查询该账户是否在IDP中已存在,如果存在的话就会做修改操作。 4.在“属性映射”页签中,点击导入映射模板。

image.png

这里会根据前两步选择的来源和目标,自动过滤符合条件的映射模板,点击确认导入。

image.png

这里展示的就是这个同步任务具体用到的字段映射规则,可以根据需求进行调整。

image.png

比如说在AD中,账户的显示名称字段存的是这个账户的工号,想要把这个字段拉取并且映射到IDP的扩展字段里面去。可以点击添加映射规则,新建一个映射规则。

image.png

这边会查询IDP中的数据字典,并且以下拉框形式展示,直接进行选择即可。完成后点击提交就会多出一条映射规则。

image.png

image.png

5.配置同步计划,根据上面同步模式的介绍进行配置即可。

6.配置完成后,点击立即同步就可以将AD的数据拉取到IDP指定的机构中。

image.png