部署 OpenLDAP 对接到 DataEase 实现统一用户管理
1 使用场景
随着企业内部各种开源平台越来越多,例如:gitlab、DataEase、JumpServer、MeterSphere 等,账号维护变成一件繁琐的事情,这时需要一个统一账号维护的平台,每人只需一个账号,在公司内部平台通用。而大多数开源平台都支持 LDAP,因此只要搭建好 LDAP 服务,将企业内部这些平台都对接到 LDAP,即可实现统一账号管理;
下面我们就来部署 Openldap 对接到 DataEase,实现用户统一账号登录 DataEase。
2 安装部署
该部署方案使用 Docker 安装,如果你的服务器没有安装 Docker,先安装 Docker
部署 Openldap
注释如下:
-p 389:389 TCP/IP 访问端口
-p 636:636 SSL 连接端口
--name de-ldap 容器名称为 de-ldap
--network bridge 连接默认的 bridge 网络
--hostname deldap.com 设置容器主机名称为 deldap.com
--env LDAP_ORGANISATION=“deldap” 配置 LDAP 组织名称
--env LDAP_DOMAIN=“deldap.com” 配置 LDAP 域名
--env LDAP_ADMIN_PASSWORD=“123456” 配置 LDAP 密码
部署 phpLDAPadmin
注释如下:
-d 分离模式启动容器
--privileged 特权模式启动(使用该参数,container 内的 root 拥有真正的 root 权限。否则,container 内的 root 只是外部的一个普通用户权限。)
--env PHPLDAPADMIN_HTTPS=false 禁用 HTTPS
--env PHPLDAPADMIN_LDAP_HOSTS =192.168.1.7 配置 openLDAP 的 IP 或者域名,我安装 ldap 机器 IP 就是 192.168.1.7。
3 在 LDAP 中创建用户
3.1 访问 phpldapadmin
浏览器输入 phpldapadmin 的服务器 IP+端口
点击页面上的 “login”,登录;
Login DN:CN=admin,DC=deldap,DC=com
Password: 123456
3.2 创建 ou 及导入用户信息
3.2.1 创建 ou
按图操作,点击 dc,然后点击 “Create a child entry”;
选择 “Generic: Organisational Unit”;
输入一个 ou 名,ou 代表组织单位,可以理解为分组,我创建的 north、east,分别代表华东和华北大区的两个分组;
3.2.2 创建用户
以上信息包含用户信息:
uid:xiaomei
显示名字:小美
所属 ou:north
mail:xiaomei@esgyn.local
密码:123456
复制以上信息,在 phpldapadmin 界面,点击 “import”,粘贴;
最后,点击 “Proceed”,完成导入;
可以使用以上方法创建多个 ou 和用户,如下图:
4 在 DataEase 中配置 LDAP
使用 admin 用户登录 DataEase,系统管理 --> 系统配置 --> 认证设置 --> LDAP 设置
点击 “编辑”,填写 LDAP 相关配置信息;
配置完成后点击 “测试连接” 并 “保存”;
5 登录测试
打开 DataEase 登录页面,选择 “LDAP” ,输入 LDAP 中的用户及密码,点击登录
登录成功,确认用户信息
LDAP 配置及 DataEase 对接的操作, 至此介绍完毕。
6 名词解释
DN:Distinguished Name
类似于 DNS,DN 与 DNS 的区别是:组成 DN 的每个值都有一个属性类型,例如:
deldap.com 是一个 dns,那么用 dn 表示为:dc=deldap,dc=com 级别越高越靠后。
登录名 cn=admin,dc=deldap,dc=com 就是一条 DN。
CN:common name 通用名
对象的属性为 CN,例如一个用户的名字为:张三,那么“张三”就是一个 CN。
OU : OrganizationUnit 组织单位
o 和 ou 都是 ldap 目录结构的一个属性,建立目录的时候可选新建 o,ou 等。在配置我司交换设备 ldap 的时候具体是配置 ou,o 还是 cn 等,要具体看 ldap 服务器的相应目录是什么属性。
o:organizationName 组织名
uid: userid
对象的属性为 uid,例如我司一个员工的名字为:zsq,他的 UID 为:z02691,ldap 查询的时候可以根据 cn,也可以根据 uid。配置 ldap 查询的时候需要考虑用何种查询方式。
DC:Domain Component
DC 类似于 dns 中的每个元素,例如 deldap.com,“.”符号分开的两个单词可以看成两个 DC。
评论