參照:Freeipa的簡單搭建配置,完成一下與jenkins的簡單集成,用戶組與權限的簡單配置!
先說一下實現(xiàn)目標與規(guī)劃:
(資料圖片僅供參考)
jenkins用戶組中 將zhangpeng用戶設置為jenkins member managers:
將tanyuqiang huozhonghao 加入jenkins-develop組:
將tanyuqiang用戶加入jenkins-qa組:
關于jenkins的安裝我是直接本地啟動了一個容器:
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服務器輸入日志中的bf4052ecfdae48edbff5xxx 或者在 /var/jenkins_home/secrets/initialAdminPassword中找到
進入插件安裝頁面:
為了節(jié)省時間只安裝了Localization: Chinese (Simplified) Pipeline Role-based Authorization Strategy LDAP插件
等待ing
初始化了admin用戶
保存完成:
就緒,開始使用jenkins:
創(chuàng)建兩個測試認識qa-111 develop-111(兩個前綴標識,區(qū)分對應jenkins組方便授權?。?/p>
系統(tǒng)管理-全局安全配置:
修改安全域,選擇ldap:
ldap相關配置:
測試ldap 配置:
保存:
使用ldap zhangpeng用戶測試登陸:
系統(tǒng)管理-全局安全配置-授權策略-Role-Based Stragegy 保存
刷新一下其他瀏覽器登陸的ldap用戶zhangpeng 發(fā)現(xiàn)沒有全部/Read權限
系統(tǒng)管理-Manage and Assign Roles
Manage Roles 管理角色
管理角色:
Global roles:
Add 添加jenkins-develop jenkins-qa role給了read權限!
Item roles
role to add 添加jenkins-develop role Pattern 匹配了 develop.* ,jenkins-qa role Pattern 匹配了 qa.* 具體權限按需來,為這里都設置了任務的build cancel Didcover Read 視圖的read
Assign Roles
Global roles Add group jenkins-qa 對應 jenkins-qa role jenkins-develop對應jenkins-develop role
Item roles也這樣: jenkins-develop 用戶組對應role jenkins-develop jenkins-qa用戶組 對應role jenkins-qa
登陸tanyuqiang用戶可以發(fā)現(xiàn)develop-111 qa-111任務可運行符合
but 登陸zhangpeng 用戶是沒有權限的,因為只針對了jenkins 組下兩個子用戶進行了授權!雖然他是組的管理員,他只能在freeips控制臺管理jenkins組下的用戶以及自權限
火狐瀏覽器登陸admin賬戶無法登陸了用上面我們初始化jenkins生成的密碼,且我們并沒有將zhangpeng用戶設置為管理員,怎么破?
使用freeipa admin 用戶名密碼登陸:
當然了這里最好的是對zhangpeng用戶進行admin授權:
刷新火狐瀏覽器zhangpeng用戶擁有Administer權限:
也可以Manage and Assign Roles 這里管理角色創(chuàng)建一個角色zhangpeng 綁定Administer權限,然后zhangpeng 用戶綁定zhangpeng 角色!這個完全可以看自己的習慣喜好,進行個性化配置!
關鍵詞: