jenkins用户权限隔离

简介: jenkins用户权限隔离

一、jenkins的安装



这里不介绍jenkins安装,如有需要推荐以下文章:

jenkins搭建:docker搭建jenkins

jenkins使用:jenkins实现持续集成、持续部署

权限的基础知识,可以看下这篇文章回忆下:

权限基础:权限管理需要哪些表


二、jenkins中实现用户的权限分离



刚用jenkins时肯定会有一个困惑,jenkins里创建的用户并不能实现权限分离,所有用户进来以后看到的内容都是一样的,这样肯定不行,jenkins的用户有测试、有开发、有运维,自然不能让所有人看到的东西都是一样的,那么用户的权限分离就是必须的了。

jenkins自然原生不支持,我们就需要引入外部插件了,也就是这个插件:Role-based Authorization Strategy,下面一起安装下吧


1.安装插件


系统管理–>插件管理–>可选插件,然后按照该插件即可(插件安装完成后重启jenkins才会生效)

c3dd8a3076c44f6181fa5c4e37338c46.png


2.设置角色


插件装完后,会在系统管理里多出以下这个管理项:


59875b0ee47845d1983e806d192bde35.pngd46e2e5560354c9baef9c3e4d24d9918.png


下面点击“Manage Role”就可以创建角色了,创建角色之前需要声明一点,这个插件的角色和一般的权限分离有些区别,主要是这里的角色分两种,一种是全局角色,一种是明细角色。全局角色控制是否可以全局查看,明细角色则控制所能看到的job明细,在为一个用户分配角色时,这连个角色都是要有的。废话不多说来一起试一下就知道了。


1).创建一个全局角色


创建全局角色 develop,并只分配全局的read权限


9717d0db8e6b492ca2a6015b6c28ec68.png

2).创建一个明细角色


创建明细角色 develop-sit ,并使用正则控制该角色只能查看以SIT结尾的job

7a434585a2b943d3a95c823be19235a0.png


3.为用户配置角色


(这里不展示创建用户了)我们为mdmdev用户分配全局角色develop,为mdmdev分配明细角色develop-sit:

eee6653914a64eb6a0cdd4b724a321d9.png


这样角色就分配完了,登录mdmdev账号看看是不是只有以SIT结尾的job可以看到,其他的就看不到了呢,如下所示:


7c5ca481dffa4afc8cbca7262bc15a8a.png



可以发现,权限分离已经成功了。


三、碰到的过的问题



1.global roles 与 Item roles 的区别和使用


上面的动作完成后可能就会有这种疑问,全局角色与明细角色的差别到底在哪里呢,笔者感觉全局角色控制的只是全局的信息展示,但是涉及到明细的权限还是必须得用明细角色来控制,这就像一种补充,至于为什么这么设计,可能是为了实现对jenkins某些东西的兼容吧,不然也不会设计的这么丑陋了。


2.Item roles 创建时的pattern里的正则如何写


笔者上面的例子是某角色只展示某种特定结尾的job,pattern这么写即可:.*SIT,其中SIT是job的特定结尾,不过若是job都是以特定开头来命名的呢,此时我们的pattern就需要这么写了:SIT.星号,其中SIT就是我们特定的开头,星号就是我们正则里的星号了,这里使用汉字代替了(忘记这里的转义符了,就这么写吧)。

相关文章
|
jenkins 持续交付 数据安全/隐私保护
|
安全 jenkins Java
4❤️Jenkins从零到壹❤️ :用户权限管理(JAVA 小虚竹)
4❤️Jenkins从零到壹❤️ :用户权限管理(JAVA 小虚竹)
95 0
4❤️Jenkins从零到壹❤️ :用户权限管理(JAVA 小虚竹)
|
4月前
|
jenkins Java 持续交付
【项目集成工具】Jenkins
【项目集成工具】Jenkins
|
1月前
|
jenkins Java 持续交付
Docker Swarm总结+Jenkins安装配置与集成(5/5)
Docker Swarm总结+Jenkins安装配置与集成(5/5)
54 0
|
1月前
|
jenkins Java 持续交付
Docker Swarm总结+Jenkins安装配置与集成snarqube和目标服务器(4/5)
Docker Swarm总结+Jenkins安装配置与集成snarqube和目标服务器(4/5)
44 0
|
7月前
|
jenkins 持续交付 开发工具
如何基于Docker搭建jenkins集成开发环境?建议收藏
如何基于Docker搭建jenkins集成开发环境?建议收藏
100 1
|
6月前
|
运维 jenkins 机器人
Jenkins配置项目集成钉钉通知
Jenkins配置项目集成钉钉通知
|
7月前
|
jenkins 应用服务中间件 持续交付
1小时带你入门Jenkins持续集成自动化环境搭建
1小时带你入门Jenkins持续集成自动化环境搭建