专栏首页运维咖啡吧LDAP落地实战(四):Jenkins集成OpenLDAP认证

LDAP落地实战(四):Jenkins集成OpenLDAP认证

前几篇分文章分别介绍了OpenLDAP的部署管理和维护以及SVN、Git的接入,今天我们再下一城接入Jenkins。

安装LDAP插件

使用LDAP认证需要安装LDAP插件,安装插件有两种方法:

方法一:后台插件管理里直接安装

  • 优点:简单方便,不需要考虑插件依赖问题
  • 缺点:因为网络等各种问题安装不成功

安装方法:登录Jenkins --> 系统管理 --> 插件管理 --> 可选插件 --> 搜索LDAP --> 选中 --> 直接安装 --> 安装完成重启

因我们已经安装过了LDAP插件,所有这里搜索不到LDAP插件,只有LDAP Email插件

如果安装失败,网上也有说在插件管理 --> 高级 --> 升级站点里替换URL为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json的,但是我替换了之后依然没有成功,最后还是使用方法二安装成功的

方法二:官网下载安装文件后台上传

  • 优点:一定可以安装成功的
  • 缺点:麻烦,要去官网找插件并解决依赖

插件下载地址:https://updates.jenkins-ci.org/download/plugins/

安装方法:官网下载插件 --> 登录Jenkins --> 系统管理 --> 插件管理 --> 高级 --> 上传插件 --> 选择文件 --> 上传 --> 安装完成后重启

上传插件安装可能会失败,大部分都是提示你当前插件依赖某些插件,只需要下载全部依赖插件,按照顺序上传安装即可,LDAP插件安装完成后,所有依赖的插件如下:

LDAP依赖插件列表

配置LDAP认证

登录Jenkins --> 系统管理 --> 全局安全配置

访问控制选择“LDAP”,Server输入LDAP服务器地址,有其他配置可以点击“Advanced Server Configuration…”

Server:服务器地址,可以直接填写LDAP服务器的主机名或IP,例如ldap.domain.com(默认端口389),或者ldap.domain.com:1389,如果用了SSL,可以填写ldaps://ldap.domain.com(默认端口636),或者ldaps://ldap.domain.com:1636

root DN:这里的root DN只是指搜索的根,并非LDAP服务器的root dn。由于LDAP数据库的数据组织结构类似一颗大树,而搜索是递归执行的,理论上,我们如果从子节点(而不是根节点)开始搜索,因为缩小了搜索范围那么就可以获得更高的性能。这里的root DN指的就是这个子节点的DN,当然也可以不填,表示从LDAP的根节点开始搜索

User search base:这个配置也是为了缩小LDAP搜索的范围,例如Jenkins系统只允许ou为Admin下的用户才能登陆,那么你这里可以填写ou=Admin,这是一个相对的值,相对于上边的root DN,例如你上边的root DN填写的是dc=domain,dc=com,那么user search base这里填写了ou=Admin,那么登陆用户去LDAP搜索时就只会搜索ou=Admin,dc=domain,dc=com下的用户了

User search filter:这个配置定义登陆的“用户名”对应LDAP中的哪个字段,如果你想用LDAP中的uid作为用户名来登录,那么这里可以配置为uid={0}({0}会自动的替换为用户提交的用户名),如果你想用LDAP中的mail作为用户名来登录,那么这里就需要改为mail={0}。在测试的时候如果提示你user xxx does not exist,而你确定密码输入正确时,就要考虑下输入的用户名是不是这里定义的这个值了

Group search base:参考上边User search base解释

Group search filter:这个配置允许你将过滤器限制为所需的objectClass来提高搜索性能,也就是说可以只搜索用户属性中包含某个objectClass的用户,这就要求你对你的LDAP足够了解,一般我们也不配置

Group membership:没配置,没有详细研究

Manager DN:这个配置在你的LDAP服务器不允许匿名访问的情况下用来做认证(详细的认证过程参考文章LDAP落地实战(二):SVN集成OpenLDAP认证中关于LDAP服务器认证过程的讲解),通常DN为cn=admin,dc=domain,dc=com这样

Manager Password:上边配置dn的密码

Display Name LDAP attribute:配置用户的显示名称,一般为显示名称就配置为uid,如果你想显示其他字段属性也可以这里配置,例如mail

Email Address LDAP attribute:配置用户Email对应的字段属性,一般没有修改过的话都是mail,除非你用其他的字段属性来标识用户邮箱,这里可以配置

下边还有一些配置如:环境变量Environment Properties、servlet容器代理等,很少用就不多解释了。有一个配置Enable cache可能会用得到,当你的LDAP数据量很大或者LDAP服务器性能较差时,可以开启缓存,配置缓存条数和过期时间,那么在过期时间内新请求优先查找本地缓存认证,认证通过则不会去LDAP服务器请求,以减轻LDAP服务器的压力

配置完成后可以点击下方的“Test LDAP sttings”来测试配置的准确性

这里输入的用户名就是你上边配置的User search filter里定义的LDAP中的属性,密码就是LDAP的密码

登录

配置完成并测试通过后就可以用LDAP直接登录了,注意:启用了LDAP登录后将无法再用之前的登录方式(例如本地认证)登录

参考文档

  • https://wiki.jenkins.io/display/JENKINS/LDAP+Plugin

本文分享自微信公众号 - 运维咖啡吧(SRE724),作者:37丫37

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-08-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • LDAP落地实战(二):SVN集成OpenLDAP认证

    AuthLDAPBindAuthoritative:on表示只要求验证ldap用户,别的不认,off则可以使用svn的账号和ldap混合账号登录

    37丫37
  • LDAP落地实战(三):GitLab集成OpenLDAP认证

    当重启完成后登陆报:Could not authenticate you from Ldapmain because "Invalid credentials"...

    37丫37
  • DevOps工具链大全 on Openshift

    本文作者为陈沙克,原文题目为:OpenShift的DevOps工具链,大魏已获得授权转载。

    魏新宇
  • 企业实战|LDAP对接Gitlab+Wiki+Jumpserver+Openvpn

    LDAP 全称轻量级目录访问协议(英文:Lightweight Directory Access Protocol),是一个运行在 TCP/IP 上的目录访问协...

    小小科
  • 在Kubernetes上使用Openldap做集中认证

    LDAP是Lightweight Directory Access Protocol的缩写,提供LDAP服务的软件有很多商业上获得成功的,其中以MS的AD和Re...

    公众号: 云原生生态圈
  • openldap的介绍与安装

    alexhuiwang
  • LDAP落地实战(一):OpenLDAP部署及管理维护

    上边来了一堆的名词解释,看的云里雾里,还不是很明白,怎么跟自己的组织架构对应起来呢?看看下边的图是不是清晰明了

    37丫37
  • 14.如何为Cloudera Manager集成OpenLDAP认证

    Fayson在前面一系列文章中介绍了OpenLDAP的安装及与CDH集群中各个组件的集成,包括《1.如何在RedHat7上安装OpenLDA并配置客户端》、《2...

    Fayson
  • 6.如何为Hue集成RedHat7的OpenLDAP认证

    温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproje...

    Fayson

扫码关注云+社区

领取腾讯云代金券