參照:Freeipa的簡單搭建配置,完成一下與jenkins的簡單集成,用戶組與權(quán)限的簡單配置!
(資料圖片)
先說一下實(shí)現(xiàn)目標(biāo)與規(guī)劃:
jenkins 項(xiàng)目任務(wù)區(qū)分以環(huán)境開頭qa-xxx是qa 服務(wù)器任務(wù) develop-xxx為開發(fā)環(huán)境任務(wù),當(dāng)然了還可以有master-xxx master環(huán)境任務(wù)!這里主要是演示驗(yàn)證。僅演示develop qa兩個(gè)實(shí)例任務(wù)!關(guān)于用戶 主要拿了三個(gè)測試 zhangpeng tanyuqiang huozhongaho(自己名字跟兩個(gè)小伙伴的名字,經(jīng)常拿來各種測試禍害了)。要實(shí)現(xiàn)A 用戶zhangpeng 管理員 ,B用戶tanyuqiang可以執(zhí)行develop qa任務(wù),C用戶huozhonghao只能執(zhí)行develop任務(wù)(任務(wù)的編輯添加新建先忽略)關(guān)于授權(quán)肯定還是jenkins Role-based Authorization Strategy插件,如果設(shè)置用戶授權(quán),每添加一個(gè)用戶還要授權(quán)一次?freeipa嘗試一下組的概念!freeipa創(chuàng)建用戶~用戶組freeipa創(chuàng)建用戶組組的規(guī)劃是準(zhǔn)備這樣的:創(chuàng)建三個(gè)用戶組jenkins jenkins-qa jenkins-develop:freeipa 控制臺(tái)頁面用戶組添加:jenkins用戶組中 將zhangpeng用戶設(shè)置為jenkins member managers:
將tanyuqiang huozhonghao 加入jenkins-develop組:
將tanyuqiang用戶加入jenkins-qa組:
關(guān)于jenkins的安裝我是直接本地啟動(dòng)了一個(gè)容器:
mkdir -p /data/jenkins/jenkins_homedocker run -itd --name jenkins -p 8080:8080 -p 50000:50000 -e JAVA_OPTS="-Dorg.apache.commons.jelly.tags.fmt.timeZone="Asia/Shanghai"" --privileged=true --restart=always -v /data/devops5/jenkins_home:/var/jenkins_home jenkins/jenkins:2.387.1-lts-jdk11
docker logs -f jenkins
chmod 777 -R /data/jenkins/jenkins_home/docker restart jenkinsdocker logs -f jenkins
web登陸jenkins服務(wù)器輸入日志中的bf4052ecfdae48edbff5xxx 或者在 /var/jenkins_home/secrets/initialAdminPassword中找到
進(jìn)入插件安裝頁面:
為了節(jié)省時(shí)間只安裝了Localization: Chinese (Simplified) Pipeline Role-based Authorization Strategy LDAP插件
等待ing
初始化了admin用戶
保存完成:
就緒,開始使用jenkins:
創(chuàng)建兩個(gè)測試認(rèn)識qa-111 develop-111(兩個(gè)前綴標(biāo)識,區(qū)分對應(yīng)jenkins組方便授權(quán)?。?/p>
系統(tǒng)管理-全局安全配置:
修改安全域,選擇ldap:
ldap相關(guān)配置:
測試ldap 配置:
保存:
使用ldap zhangpeng用戶測試登陸:
系統(tǒng)管理-全局安全配置-授權(quán)策略-Role-Based Stragegy 保存
刷新一下其他瀏覽器登陸的ldap用戶zhangpeng 發(fā)現(xiàn)沒有全部/Read權(quán)限
系統(tǒng)管理-Manage and Assign Roles
Manage Roles 管理角色
管理角色:
Global roles:
Add 添加jenkins-develop jenkins-qa role給了read權(quán)限!
Item roles
role to add 添加jenkins-develop role Pattern 匹配了 develop.* ,jenkins-qa role Pattern 匹配了 qa.* 具體權(quán)限按需來,為這里都設(shè)置了任務(wù)的build cancel Didcover Read 視圖的read
Assign Roles
Global roles Add group jenkins-qa 對應(yīng) jenkins-qa role jenkins-develop對應(yīng)jenkins-develop role
Item roles也這樣: jenkins-develop 用戶組對應(yīng)role jenkins-develop jenkins-qa用戶組 對應(yīng)role jenkins-qa
登陸tanyuqiang用戶可以發(fā)現(xiàn)develop-111 qa-111任務(wù)可運(yùn)行符合
but 登陸zhangpeng 用戶是沒有權(quán)限的,因?yàn)橹会槍α薺enkins 組下兩個(gè)子用戶進(jìn)行了授權(quán)!雖然他是組的管理員,他只能在freeips控制臺(tái)管理jenkins組下的用戶以及自權(quán)限
火狐瀏覽器登陸admin賬戶無法登陸了用上面我們初始化jenkins生成的密碼,且我們并沒有將zhangpeng用戶設(shè)置為管理員,怎么破?
使用freeipa admin 用戶名密碼登陸:
當(dāng)然了這里最好的是對zhangpeng用戶進(jìn)行admin授權(quán):
刷新火狐瀏覽器zhangpeng用戶擁有Administer權(quán)限:
也可以Manage and Assign Roles 這里管理角色創(chuàng)建一個(gè)角色zhangpeng 綁定Administer權(quán)限,然后zhangpeng 用戶綁定zhangpeng 角色!這個(gè)完全可以看自己的習(xí)慣喜好,進(jìn)行個(gè)性化配置!
標(biāo)簽: