关于ldap:freeipa-与jenkins的集成

42次阅读

共计 2590 个字符,预计需要花费 7 分钟才能阅读完成。

背景:

参照:Freeipa 的简略搭建配置,实现一下与 jenkins 的简略集成,用户组与权限的简略配置!

freeipa 与 jenkins 的集成

先说一下实现目标与布局:

  1. jenkins 我的项目工作辨别以环境结尾 qa-xxx 是 qa 服务器工作 develop-xxx 为开发环境工作,当然了还能够有 master-xxx master 环境工作!这里次要是演示验证。仅演示 develop qa 两个实例工作!
  1. 对于用户 次要拿了三个测试 zhangpeng tanyuqiang huozhongaho(本人名字跟两个小伙伴的名字,常常拿来各种测试祸患了)。要实现 A 用户 zhangpeng 管理员 ,B 用户 tanyuqiang 能够执行 develop qa 工作,C 用户 huozhonghao 只能执行 develop 工作(工作的编辑增加新建先疏忽)
  2. 对于受权必定还是 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_home
docker 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 jenkins
docker 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 角色!这个齐全能够看本人的习惯爱好,进行个性化配置!

正文完
 0