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

參考文檔

掃碼關注公衆號查看更多原創文章
相關文章
相關標籤/搜索