背景:
参照:Freeipa的简略搭建配置,实现一下与jenkins的简略集成,用户组与权限的简略配置!
freeipa 与jenkins的集成
先说一下实现目标与布局:
- jenkins 我的项目工作辨别以环境结尾qa-xxx是qa 服务器工作 develop-xxx为开发环境工作,当然了还能够有master-xxx master环境工作!这里次要是演示验证。仅演示develop qa两个实例工作!
- 对于用户 次要拿了三个测试 zhangpeng tanyuqiang huozhongaho(本人名字跟两个小伙伴的名字,常常拿来各种测试祸患了)。要实现A 用户zhangpeng 管理员 ,B用户tanyuqiang能够执行develop qa工作,C用户huozhonghao只能执行develop工作(工作的编辑增加新建先疏忽)
对于受权必定还是jenkins Role-based Authorization Strategy插件,如果设置用户受权,每增加一个用户还要受权一次?freeipa尝试一下组的概念!
freeipa创立用户~用户组
freeipa创立用户组
组的布局是筹备这样的:创立三个用户组jenkins jenkins-qa jenkins-develop:
freeipa 控制台页面用户组增加:
将jenkins-qa jenkins-develop组退出jenkins组,套娃一下:freeipa创立用户,并将用户退出用户组:
创立zhangpeng tanyuqiang huozhonghao三个用户:
jenkins用户组中 将zhangpeng用户设置为jenkins member managers:
将tanyuqiang huozhonghao 退出jenkins-develop组:
将tanyuqiang用户退出jenkins-qa组:
jenkins集成freeipa
装置启动jenkins
对于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中找到
进入插件装置页面:
为了节省时间只装置了Localization: Chinese (Simplified) Pipeline Role-based Authorization Strategy LDAP插件
期待ing
初始化了admin用户
保留实现:
就绪,开始应用jenkins:
jenkins创立测试工作:
创立两个测试意识qa-111 develop-111(两个前缀标识,辨别对应jenkins组不便受权!)
jenkins配置ldap
系统管理-全局平安配置:
批改平安域,抉择ldap:
ldap相干配置:
测试ldap 配置:
保留:
应用ldap zhangpeng用户测试登陆:
当初ldap用户登陆了是都能够做任何事的,上面配置一下权限!
启用Role-Based Stragegy受权策略
系统管理-全局平安配置-受权策略-Role-Based Stragegy 保留
刷新一下其余浏览器登陆的ldap用户zhangpeng 发现没有全副/Read权限
配置Role-Based Stragegy 策略
系统管理-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
验证用户权限:
其余浏览器(火狐浏览器)登陆huozhonghao用户,控制台只能发现develop-111工作,运行点击develop-111工作能够运行合乎预期:
登陆tanyuqiang用户能够发现develop-111 qa-111工作可运行合乎
but 登陆zhangpeng 用户是没有权限的,因为只针对了jenkins 组下两个子用户进行了受权!尽管他是组的管理员,他只能在freeips控制台治理jenkins组下的用户以及自权限
接着进去的问题:
火狐浏览器登陆admin账户无奈登陆了用下面咱们初始化jenkins生成的明码,且咱们并没有将zhangpeng用户设置为管理员,怎么破?
应用freeipa admin 用户名明码登陆:
当然了这里最好的是对zhangpeng用户进行admin受权:
刷新火狐浏览器zhangpeng用户领有Administer权限:
也能够Manage and Assign Roles 这里治理角色创立一个角色zhangpeng 绑定Administer权限,而后zhangpeng 用户绑定zhangpeng 角色!这个齐全能够看本人的习惯爱好,进行个性化配置!