永洪社区

标题: <永洪tech>LDAP同步说明 [打印本页]

作者: 永洪tech-man    时间: 2018-2-1 13:37
标题: <永洪tech>LDAP同步说明
本帖最后由 永洪tech-man 于 2018-2-7 14:41 编辑

1 对接标准
LDAP全称Lightweight Directory Access Protocol(轻量级目录协议),关于协议内容不再做赘述。产品是基于LDAP协议接口实现的LDAP同步功能,因此理论上可以与任何实现了LDAP标准协议的产品都做对接。
2 同步原理
在实现LDAP同步之前,产品中已经有基于文件系统(FS)类型的权限验证。LDAP的本质是将客户LDAP中的GIdentity(用户、组、角色)同步为我们系统中的GIdentity(用户、组、角色)文件,进而可以使用我们产品中的权限功能(同步后编辑这些GIdentity角色或者权限),省去客户手动新建GIdentity的环节。但是当LDAP同步过来的用户在我们产品中登录的时候,是需要去客户的LDAP服务器进行登录验证的,目前默认的验证逻辑只是简单的用户名和密码匹配,并且此处设计的有扩展点,如果需要做特别的验证逻辑,请与开发服务部门沟通,做认证逻辑的定制开发。
3 同步规则
同步规则指的是对于一次同步动作中同步一个LDAP中的GIdentity 的条目(一下简称条目)到我们产品中的过程的一些默认的规则特性,包括手动同步还是自动同步。此处设计的有扩展点,如果默认的无法满足客户需求,请与开发服务部门沟通,做同步规则逻辑的定制开发。
规则如下:
1. 以条目的用户名和作为同步后的条目的用户名,以此条目的用户名计算出来的一个字符串作为和用户ID,所以请勿随意改动已经同步到我们系统中的用户的登录名。
2. 如果遇到LDAP中的条目的ID或者name与我们系统中原本已经存在的GIdentity的ID或者name冲突的时候,此条目将跳过同步,并且在日志中有提示。
3. 条目是否在系统中已经存在的判断依据是,系统中存在一个LDAP同步过来的用户,并且此用户的用户组和用户名称与条目中的用户的组和名称一致,所以请勿随意改动已经通过到我们系统中的用户的用户位置。
4. 如果同步的条目在系统中原本不存在,则创建此GIdentity。
5. 如果同步的条目在系统中已经存在,则更新系统中的对应的GIdentity的属性,邮箱和别名以及自定义属性将被新的条目中的相对应的信息替代,用户的角色信息将会在原来已有的角色数组中直接添加新的条目中的角色信息。
4 配置项含义
配置项分为四部分,LDAP连接配置、LDAP数据映射配置、LDAP自动同步配置、高级配置选项
4.1 LDAP连接配置
选项名称
含义
备注
URL
LDAP服务器地址
每页条目数
每页数据限制,请根据LDAP每次拉取条数数量限制的数值设置
用户名
LDAP用户名
如匿名访问请留空
密码
LDAP密码
如匿名访问请留空
域名
LDAP域

4.2 LDAP数据映射配置
选项名称
含义
备注
objectCLass
条目类型表示
比如用户配置的此选项配置为“user”,那么拉取到的数据中,objectClass包含User的即视为用户类型的条目
uid
此字段映射GIdentity条目的名称

属性配置
属性配置意义同UID意义一样,即LDAP中的此字段,映射到GIdentity中的指定的字段的规则



4.3 自动同步配置
自动同步配置可设置自动同步的时间,可以选择每天的偶数的整点时间,配置后将每天在选择的时间点进行同步作业。需要注意的是,更新同步配置的话,将在下一次同步动作执行后才能生效。如果LDAP中的数据更改不频繁的话,建议不要配置此选项,在需要同步的时候手动同步,可节约服务器资源。
4.4 高级配置选项
考虑到默认的转换、同步、认证规则不能满足所有需求,所以在此三个环节均设计的有扩展点,可由开发服务部门根据此需求进行扩展,以实现更多功能。
转换器:扩展每个LDAP 条目到GIdentity的转换规则,比如更改某个属性的转换规则。
同步器:扩展从LDAP转换后的GIdentity写入到产品中的过程中的规则,比如更改同步规则,强制覆盖原有的同名用户。
认证器:此选项供开发服务扩展LDAP用户的认证规则,比如实现一些特殊的加密认证方法。
5 注意事项
某些LDAP实现默认不允许分页,并且有拉取数据限制,请打开此限制后再进行同步,否则数据无法一次性拉取到产品中。


参考示例:
(, 下载次数: 140)