Docker -- 统一账户管理中心配置OPEN LDAP(在一套CI架构中,我们需要使用到各种各样得软件,需要这些软件协同工作。但是我们又不希望让用户在每一软件上都单独去进行账户得注册以及密码得维)

一、统一账户管理中心配置

  • 在一套CI架构中,我们需要使用到各种各样得软件,需要这些软件协同工作。但是我们又不希望让用户在每一软件上都单独去进行账户得注册以及密码得维护。为了方便运维管理,我们引入LDAP作为统一账户管理中心。LDAP实际上是一个协议,目前针对轻量级目录服务协议的实现产品有很多。我们选择使用OPEN LDAP作为实现产品。该产品是免费的,功能也较为全面。客户端软件我们采用LDAP ADMIN。
    在这里插入图片描述
  • LDAP是一个以树型结构进行数据组织管理的目录服务器,该服务器针对数据查询有极快的效率,但是针对更新、删除等变化性的操作效率很差,所以在生产活动中,通常会使用LDAP做一些静态数据的存储一个典型的应用场景是在公司的信息系统环境中,使用LDAP作为账户管理数据库来使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cPMRBxSw-1642338112433)(images\1062001-20180612174219851-465284075.png)]

二、安装与配置

1、使用docker安装open ldap

docker  pull osixia/openldap

2、准备挂载目录

  • 使用open ldap时,我们需要将数据库以及配置文件挂载到宿主机中,所以需要提前准备出两个目录。 /root/docker_vol/ldap/database(数据库目录),/root/docker_vol/ldap/config配置信息目录

3、启动ldap容器

   docker run -itd  --hostname "jn-ldap" -p 10002:389 \
             --name "ldap" \
             -v /root/docker_vol/ldap/database:/var/lib/ldap \
             -v /root/docker_vol/ldap/config:/etc/ldap/slapd.d \
             -v /etc/localtime:/etc/localtime:ro \
             -e LDAP_ORGANISATION=jn \
             -e LDAP_DOMAIN=jn.com \
             -e LDAP_ADMIN_PASSWORD=P@ssword \
             -e LDAP_CONFIG_PASSWORD=P@ssword \
             -e TZ=Asia/Shanghai \ 
    osixia/openldap

4、验证服务器安装结果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Imm7YumJ-1642338112434)(images\image-20210706142617203.png)]

  • 选择connect后弹出配置窗口
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JtZyzI56-1642338112434)(images\image-20210706142739326.png)]
  • 选择new connection 创建新的连接,相关配置参考下图
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GcgBdPrt-1642338112435)(images\image-20210706150925867.png)]

到此为止,ldap已经可以支持账号存储。但是存在一个问题就是一旦开启了ldap认证,则所有的用户可以登录CI平台中的任意软件,为了避免这种情况,所以需要对ldap设置memberof选项

三、开启ldapmemberof选项

1、检查数据库配置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uJ1miNfC-1642338112435)(images\image-20210706152639970.png)]
或者进入容器后执行:ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config dn
2、编写配置文件

  • memberof_conf.ldif
#开启memberof支持
dn: cn=module{0},cn=config
cn: modulle{0}
objectClass: olcModuleList
objectclass: top
olcModuleload: memberof.la
olcModulePath: /usr/lib/openldap

#新增用户支持memberof配置
dn: olcOverlay={0}memberof,olcDatabase={1}mdb,cn=config
objectClass: olcConfig
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: top
olcOverlay: memberof
olcMemberOfDangling: ignore
olcMemberOfRefInt: TRUE
olcMemberOfGroupOC: groupOfUniqueNames
olcMemberOfMemberAD: uniqueMember
olcMemberOfMemberOfAD: memberOf
  • refint1.ldif
dn: cn=module{0},cn=config
add: olcmoduleload
olcmoduleload: refint
  • refint2.ldif
dn: olcOverlay=refint,olcDatabase={1}mdb,cn=config
objectClass: olcConfig
objectClass: olcOverlayConfig
objectClass: olcRefintConfig
objectClass: top
olcOverlay: refint
olcRefintAttribute: memberof uniqueMember  manager owner

3、开启memberof配置

  • 进入容器后分别执行下列语句,注意样例中的路径为我本地路径,根据自身情况酌情修改路径。
  ldapadd -Q -Y EXTERNAL -H ldapi:/// -f  /data/disk1/openladp/memberof_conf.ldif 
  ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f  /data/disk1/openladp/refint1.ldif 
  ldapadd -Q -Y EXTERNAL -H ldapi:/// -f /data/disk1/openladp/refint2.ldif 

四、配置验证

1、使用ldap admin创建人员以及组

  • 第一步、创建人员组,通常该组内会包含所有的账号信息
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OBZ9K30E-1642338112436)(images\image-20210706181329306.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZhHaEq6X-1642338112436)(images\image-20210706181511619.png)]
  • 逐步添加需要管理的账户信息
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tcYmz4r5-1642338112436)(images\image-20210706181611412.png)]
  • 设置用户密码
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EjnTKGbj-1642338112437)(images\image-20210706181729664.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HZQCfII0-1642338112437)(images\image-20210706182045865.png)]
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YfoxC7lk-1642338112438)(images\image-20210706182146650.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nUo97NsU-1642338112438)(images\image-20210706182245388.png)]
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TvwZdL83-1642338112439)(images\image-20210706182338568.png)]
    2、验证memberof是否开启成功
  • 在容器内执行
ldapsearch -LL -Y EXTERNAL -H ldapi:/// "(uid=congminnan)" -b dc=jn,dc=com memberof 
  • 看到如下结果表示配置正确
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PwAIFtme-1642338112439)(images\image-20210706183001857.png)]
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

么贺贵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值