日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ldap配置系列二:jenkins集成ldap

發(fā)布時(shí)間:2023/12/15 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ldap配置系列二:jenkins集成ldap 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

ldap配置系列二:jenkins集成ldap

jenkins簡介

jenkins是一個(gè)獨(dú)立的、開放源碼的自動化服務(wù)器,它可以用于自動化與構(gòu)建、測試、交付或部署軟件相關(guān)的各種任務(wù)。

jenkins官方文檔:?https://jenkins.io/doc/

jenkins安裝

jenkins下載地址:?https://jenkins.io/download/

# jdk1.8下載 [root@VM_0_15_centos local]# wget http://download.linuxpanda.tech/java/jdk-8u172-linux-x64.tar.gz [root@VM_0_15_centos local]# tar xf jdk-8u172-linux-x64.tar.gz [root@VM_0_15_centos local]# cd jdk1.8.0_172/# jenkins安裝 [root@VM_0_15_centos local]# yum install https://pkg.jenkins.io/redhat/jenkins-2.141-1.1.noarch.rpm # 配置修改 [root@VM_0_15_centos ~]# vim /etc/sysconfig/jenkins JENKINS_JAVA_CMD="/usr/local/jdk1.8.0_172/bin/java" # 防火墻放行 [root@VM_0_15_centos ~]# firewall-cmd --permanent --add-port=8080/tcp [root@VM_0_15_centos ~]# firewall-cmd --reload # 重啟jenkins [root@VM_0_15_centos ~]# systemctl restart jenkins [root@VM_0_15_centos ~]# systemctl status jenkins [root@VM_0_15_centos ~]# netstat -tunlp |grep 8080# 訪問對應(yīng)的外網(wǎng) # jenkins.linuxpanda.tech:8080 安裝必要的插件。

?注意: 我在我的centos7服務(wù)器上面直接yum install jenkins是有問題,訪問不了,yum install 特定的rpm包就可以了。 暫時(shí)不知道哪里的情況。

安裝完畢后的主頁為 :

?ldap準(zhǔn)備

如果沒有l(wèi)dap服務(wù)器,可以參考?https://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_liunx_52_ldap.html?, 這里我使用ldapadmin.exe?這個(gè)小軟件去管理ldap。

添加jenkins相關(guān)的測試賬戶和組

  • group這個(gè)ou下面創(chuàng)建一個(gè)jenkins的ou。
  • 在jenkins這個(gè)ou里面創(chuàng)建3個(gè)組,名為jenkins-admins,jenkins-editors,jenkins-users。
  • 在ou=people下面創(chuàng)建4個(gè)賬戶,名為admin,test01,test02,test03,配置好郵箱和密碼。
  • 在三個(gè)組上面添加對應(yīng)的用戶, jenkins-admins組添加admin,test01用戶, jenkins-editors組添加test02用戶,jenkins-users組添加test03用戶。
  • 最終的組織圖如下:?

    ?

    jenkins集成ldap的配置

    選擇【jenkins】 -> 【系統(tǒng)管理】-> 【全局安全設(shè)置】

    配置ldap為如下

    ?注意: 我上面的密碼admin測試使用的密碼為oracle。

    關(guān)于ldap查詢使用

    # 查詢所有用戶 [root@VM_0_15_centos ~]# ldapsearch -LLL -w oracle -x -H ldap://ldap.linuxpanda.tech:389 -D"cn=admin,dc=linuxpanda,dc=tech" -b "ou=people,dc=linuxpanda,dc=tech" # 查詢特定用戶 [root@VM_0_15_centos ~]# ldapsearch -LLL -w oracle -x -H ldap://ldap.linuxpanda.tech:389 -D"cn=admin,dc=linuxpanda,dc=tech" -b "ou=people,dc=linuxpanda,dc=tech" "uid=test01" dn: uid=test01,ou=people,dc=linuxpanda,dc=tech objectClass: posixAccount objectClass: top objectClass: inetOrgPerson gidNumber: 0 givenName: test01 sn: test01 displayName:: 5rWL6K+VMQ== uid: test01 homeDirectory: /home/test01 loginShell: /bin/bash mail: test01@linuxpanda.tech cn:: 5rWL6K+VMQ== uidNumber: 55545 userPassword:: e1NIQX1ReE5rdGtVUHhIek52Mm9pQmQvYkc2NjNsQkk9# 組查詢 [root@VM_0_15_centos ~]# ldapsearch -LLL -w oracle -x -H ldap://ldap.linuxpanda.tech:389 -D"cn=admin,dc=linuxpanda,dc=tech" -b "ou=jenkins,ou=group,dc=linuxpanda,dc=tech" # 獲取對應(yīng)的組 [root@VM_0_15_centos ~]# ldapsearch -LLL -w oracle -x -H ldap://ldap.linuxpanda.tech:389 -D"cn=admin,dc=linuxpanda,dc=tech" -b "ou=jenkins,ou=group,dc=linuxpanda,dc=tech" "(& (cn=jenkins-admins) (| (objectclass=groupOfNames) (objectclass=groupOfUniqueNames) (objectclass=posixGroup)))" dn: cn=jenkins-admins,ou=jenkins,ou=group,dc=linuxpanda,dc=tech objectClass: posixGroup objectClass: top cn: jenkins-admins memberUid: test01 memberUid: admin gidNumber: 40109

    ldap配置完畢了, 還是在說說ldap配合jenkins里面的用戶權(quán)限和權(quán)限分配的事情吧, 不然只是ldap集成到j(luò)enkins也沒有啥用啊,哈哈。

    jenkins和ldap如何解決用戶權(quán)限和授權(quán)問題

    這個(gè)采用全局項(xiàng)目安全矩陣+項(xiàng)目安全矩陣+ldap認(rèn)證組合來實(shí)現(xiàn)復(fù)雜的權(quán)限管理。

    jenkins里面安裝完畢默認(rèn)推薦的插件后,提供有5種類授權(quán)策略:

  • 任何用戶可以做任何事(沒有任何限制)
  • 安全矩陣
  • 登錄用戶可以做任何事
  • 遺留模式
  • 項(xiàng)目矩陣授權(quán)策略
  • 我們選擇項(xiàng)目矩陣授權(quán)策略,具體操作步驟: 選擇【jenkins】 -> 【系統(tǒng)管理】-> 【全局安全設(shè)置 】,選擇項(xiàng)目矩陣授權(quán)策略。

    然后在全局的安全設(shè)置頁面給我們的三個(gè)組添加進(jìn)去,并配置下各個(gè)組的權(quán)限。

    配置如下圖的權(quán)限設(shè)置

    這是一個(gè)全局的配置,特定組只能按照最小的權(quán)限授權(quán),額外的權(quán)限可以在具體的項(xiàng)目權(quán)限矩陣?yán)锩嬖谔砑印?

    如果用戶在ldap里面添加到j(luò)enkins-admins這個(gè)組,就是擁有所有的權(quán)限了,這個(gè)組一般只能運(yùn)維人員和部門老大加入。

    如果用戶在ldap里面添加到了jenkins-editors這個(gè)組,就擁有上圖勾選的權(quán)限,這個(gè)組的成員可以完成jenkins配置項(xiàng)的修改。這個(gè)組一般不對任何人開放,可能給前段或者后端的開發(fā)老大開下。

    如果用戶在ldap里面添加到了jenkins-users這個(gè)組,就擁有了read權(quán)限,這個(gè)read是jenkins里面的很基礎(chǔ)的權(quán)限,沒有這個(gè)權(quán)限就登不進(jìn)jenkins的,這個(gè)組一般是開發(fā)人員加入。?

    ?

    上面只是一個(gè)全局層面的一個(gè)權(quán)限設(shè)置, 對于一個(gè)開發(fā)人員來說, 他能發(fā)布的項(xiàng)目只能是他負(fù)責(zé)的項(xiàng)目的,這個(gè)時(shí)候還是需要在具體的jenkins項(xiàng)目配置里面開啟項(xiàng)目安全這個(gè)選項(xiàng),并添加特定的具體的開發(fā)到這個(gè)列表里面,并授予權(quán)限。

    ?

    ?

    這樣就可以詳細(xì)給用戶授權(quán)了。

    ?

    總結(jié)

    以上是生活随笔為你收集整理的ldap配置系列二:jenkins集成ldap的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。