無業可守 創新圖強
living innovation

oe歐億注冊網站

當前位置:首頁 > oe歐億注冊網站 >

ldap落地實戰:jenkins集成openldap認證

日期:2019-08-18

前幾篇分文章分別介紹了openldap的部署管理和維護以及svn、git的接入,今天我們再下一城接入jenkins。

LDAP系列文章:

ldap落地實戰:openldap部署及管理維護ldap落地實戰:subversion集成ldap認證ldap落地實戰:gitlab集成openldap認證

jenkins集成openldap認證

1. 安裝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插件安裝完成后,所有依賴的插件如下:

2. 配置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:1636root 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,如果你想顯示其他字段屬性也可以這里配置,例如mailEmail Address LDAP attribute:配置用戶Email對應的字段屬性,一般沒有修改過的話都是mail,除非你用其他的字段屬性來標識用戶郵箱,這里可以配置

下邊還有一些配置如:環境變量Environment Properties、servlet容器代理等,很少用就不多解釋了。有一個配置Enable cache可能會用得到,當你的LDAP數據量很大或者LDAP服務器性能較差時,可以開啟緩存,配置緩存條數和過期時間,那么在過期時間內新請求優先查找本地緩存認證,認證通過則不會去LDAP服務器請求,以減輕LDAP服務器的壓力

配置完成后可以點擊下方的“Test LDAP sttings”來測試配置的準確性這里輸入的用戶名就是你上邊配置的User search filter里定義的LDAP中的屬性,密碼就是LDAP的密碼

3. 登錄

配置完成并測試通過后就可以用LDAP直接登錄了,注意:啟用了LDAP登錄后將無法再用之前的登錄方式(例如本地認證)登錄

新11选5app