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

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

前情提要:LDAP系列文章数据库

Jenkins集成OpenLDAP认证

1. 安装LDAP插件

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

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

  • 优势:简单方便,不须要考虑插件依赖问题
  • 缺点:由于网络等各类问题安装不成功

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

搜索LDAP插件

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

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

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

  • 优势:必定能够安装成功的
  • 缺点:麻烦,要去官网找插件并解决依赖

插件下载地址:updates.jenkins-ci.org/download/pl…网络

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

后台上传插件

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

LDAP依赖插件列表

2. 配置LDAP认证

登陆Jenkins --> 系统管理 --> 全局安全配置 性能

配置LDAP-1

访问控制选择“LDAP”,Server输入LDAP服务器地址,有其余配置能够点击“Advanced Server Configuration...”

配置LDAP-2

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

配置LDAP-3

  • 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落地实战:subversion集成ldap认证中关于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服务器的压力

配置LDAP-4

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

配置LDAP-5

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

3. 登陆

配置完成并测试经过后就能够用LDAP直接登陆了,注意:启用了LDAP登陆后将没法再用以前的登陆方式(例如本地认证)登陆

LDAP帐号登陆jenkins

参考文档

扫码关注公众号查看更多原创文章
相关文章
相关标签/搜索