Jenkins用户权限管理-Role-based Authorization Strategy插件
02-Jenkins用户权限管理-Role-based Authorization Strategy插件
在jenkins的使用过程中,需要给用户分配只管理特定项目的权限来保证项目相关人员只能管理对应项目(比如有是三个项目a、b、c,有两个用户张三、李四,需求张三只有管理项目a的权限,李四只有管理项目b的权限,同时张三和李四都有项目c的读权限),jenkins自带的用户权限管理无法满足这样的需求。因此需要更精细的权限管理,目前使用比较广泛的是Role-based Authorization Strategy插件。
一、准备工作
首先创建两个用户张三李四,这里设定张三为RD,李四为OP
1.1 创建用户
系统管理-->管理用户-->新建用户


1.2 创建项目任务
新建两个项目project_a、project_b
我这里是以管理员身份登录的。我的视图-->新建任务
任务内具体设置,我这里先忽略。


1.3 安装插件
系统管理-->插件管理-->可选插件
输入插件名称Role-based Authorization Strategy

如果你已经安装过该插件,则在已安装一栏中可以看到该插件

二、配置全局安全策略
系统管理-->全局安全配置(Configure Global Security)
授权策略选择Role-Based Strategy

三、管理和分配角色
3.1 配置Manage Roles
系统管理-->Manage and Assign Roles-->Manage Roles

3.1.1 创建全局角色并授权
新增两个全局角色RD(开发)、OP(运维)并授予全局的Read权限,这里如果没有授权的话,普通用户登录到jenkins则会提示:用户没有Overall/read权限

3.1.2 创建项目角色并授权
新增两个项目角色project_a_maneger、project_b_manager,并授权。
Role to add:项目角色名称
Pattern:项目角色对应的项目,这里可以用正则匹配一类项目任务。

新增项目角色后授权
我这里对两个角色授予管理对应项目的所有权限

保存
2.3 配置Assign Roles
系统管理-->Manage and Assign Roles-->Assign Roles
在2.2已经配置好了角色和权限,那这一步就是给用户分配角色,或者说是让上面的配置生效

首先在Global roles里面添加之前创建的用户

添加完成后给用户分配角色,张三为开发人员即RD,李四为运维人员即OP

保存
这样就将张三李四两个人员与2.2里面设置的全局角色关联了起来,现在两者都有全部/read权限,可以正常登陆jenkins了,登陆测试一下吧

登陆成功没有问题。你也可以测试一下将2.2中的Global roles设置里的全剧角色RD对应的Read权限去掉,保存一下,修改配置记得保存

现在载去尝试使用张三用户登录,就会报错了

由于没有全局读权限,不会显示任何内容。
测试结束,记得将全局角色RD的读权限恢复,保存,接下来接着配置Assign Roles的Item roles
在Item roles中添加之前创建的两个角色张三、李四

添加完成后给用户分配角色,张三分配project_a_manager的角色 ,李四分配project_b_manage的角色

这样我么就将张三李四分别和两个项目角色关联起来了,关联后项目角色的权限就自动对应到了用户上面,即project_a_manager这个项目角色能管理项目project_a,而张三有了这个角色后也能管理项目project_a了。保存配置然后测试一下。
四、 测试
使用张三用户登录

张三只能看到项目project_a
使用李四用户登录

李四只能看到项目project_b
这样我们就实现了,不同用户管理不同项目的目的。
总结一下,用户权限的控制其实是依赖于项目角色的权限控制,也就是项目角色才是核心,项目角色将用户和项目关联起来,在项目角色上配置对于项目的权限。
进阶
为了更加明确项目角色权限,用户权限的概念我们再来创建一个项目角色和一个用户,并且来测试一下正则表达式定义项目角色的Pattern
新建用户王五,让王五对于project_a、project_b两个项目都只有只读权限
新建用户王五

管理角色
系统管理-->Manage and Assign Roles-->Manage Roles
新建一个项目角色lingdao,并使用正则表示该用户可以管理project_为开头的项目
Role to add: lingdao
Pattern: project_.*

授权该项目角色只有读权限

保存
Assign Roles(分配角色)
首先在全局角色中添加用户王五,我这里将王五的全局角色归属到OP,你也可以自定义全局角色,并将王五加入你定义的全局角色,需要注意的是在添加全局角色的时候,全局角色权限必须有all/Read权限即全部/Read即所有可读,文章前文有提到。

在项目角色中添加用户王五,并将它绑定到项目角色lingdao中

保存
测试一下
王五登录两个项目都能看到

点开任意项目,没有操作菜单,即王五除了读权限没有其他权限。

完成
Jenkins用户权限管理-Role-based Authorization Strategy插件的更多相关文章
- [原]Jenkins(十三)---jenkins用户权限管理
* 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/5337874.html 两种策略的比较
- Jenkins权限管理之Matrix Authorization Strategy
一.权限管理概述 jenkins的权限管理,我目前使用的是Role-based Authorization Strateg.这个很简单,权限是jenkins已经定死了的,就那些.该插件可以让我们新建角 ...
- Jenkins用户权限管理
一.插件安装 插件:Role-based Authorization Strategy版本:2.3.2 二.全局安全配置 进入Jenkins后点击系统管理进入全局安全配置 当插件安装好的时候,授权策略 ...
- 九. jenkins用户权限管理
由于jenkins默认的权限管理体系不支持用户组和角色的配置,所以需要使用第三方插件来支持角色的配置: Role-based Authorization Strategy 1.先安装插件,如下: 2. ...
- jenkins用户权限配置 Role-based Authorization Strategy
插件简介 插件名称 Role-based Authorization Strategy 插件介绍 Role Strategy Plugin插件可以对构建的项目进行授权管理,让不同的用户管理不同的项目, ...
- jenkins用户管理(Role-based Authorization Strategy插件使用)
安装:Role-based Authorization Strategy插件 一.点击左侧的"系统管理"-->再点击绿色的"管理插件" 二.点击&quo ...
- 【05】Jenkins:用户权限管理
写在前面的话 在一个企业研发部门内部,可能存在多个运维人员,而这些运维人员往往负责不同的项目,但是有可能他们用的又是同一个 Jenkins 的不同用户.那么我们就希望实现一个需求,能够不同的用户登录 ...
- Jenkins拾遗--第三篇(用户权限管理)
采访过很多实用Jenkins的同学,发现Jenkins的安全是一个很薄弱的地方.很多公司用作生产部署的Jenkins安全管理都不是很规范,就更别提测试用的Jenkins了. 其实Jenkins是一个很 ...
- Jenkins系列-Jenkins用户权限和角色配置
由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,这边将使用Role Strategy Plugin,介绍页面:https://wiki.jenki ...
随机推荐
- 企业CRM系统选型的标准有哪些?
随着市场的发展,企业开始意识到客户的重要性.越来越多的企业形成了"以客户为核心"的理念,更加注重客户数据和管理,因此CRM客户关系管理系统成为企业的首选.选择一个适合企业的CRM系 ...
- [c++] STL 标准算法
_if 1 #include <iostream> 2 #include <vector> 3 #include <algorithm> 4 using names ...
- 在Vim中查看文件编码和文件编码转换
在Vim中查看文件编码和文件编码转换 风亡小窝 关注 0.2 2016.09.26 22:43* 字数 244 阅读 5663评论 0喜欢 2 在Vim中查看文件编码 :set fileencodi ...
- shell判断一个变量是否为空方法总结
shell中如何判断一个变量是否为空 shell编程中,对参数的错误检查项中,包含了变量是否赋值(即一个变量是否为空),判断变量为空方法如下: 1.变量通过" "引号引起来 1 2 ...
- Linux 部署 iSCSI 客户端配置(Linux)
Linux 部署 iSCSI 客户端配置(Linux) 客户端环境 Client :RHEL8 IP : 192.168.121.11 一.测试与服务端的连通性 [root@Client-linux ...
- 更换介质:请把标有Debian ... 的盘片插入驱动器
Debian安装软件报错如下: 更换介质:请把标有 "Debian GNU/Linux 10.8.0 _Buster_ - Official amd64 DVD Binary-1 20210 ...
- CentOS7安装vncserver(启动失败及连接黑屏解决办法)
CentOS7安装vncserver(启动失败及连接黑屏解决办法) 转载weixin_34167043 最后发布于2017-11-09 15:11:00 阅读数 42 收藏 展开 AutoSAR入门 ...
- Redis()- 布隆过滤器
一.布隆过滤器 布隆过滤器:一种数据结构.由二进制数组(很长的二进制向量)组成的.布隆过滤器可以用于检索一个元素是否在一个集合中.它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识 ...
- 编写程序,计算当n=10000,20000,30000...100000时,π的值.求π的近似公式 π=4*(1-1/3+1/5-1/7+1/9-1/11+1/13-...+1/(2n-1)-1/(2n+1))
该程序是求的 π 近似值,所以随着 i 的增大,值会无线接近于 3.1415926... 代码示例 : package judgment;/** * 编写程序,计算当n=10000,20000,300 ...
- 创建一个本地Yum 仓库,提升速度,减少带宽
1 mkdir /YUM 2 mount -t iso9660 -o loop /home/dan/Centos-7-x86_x64-DVD.iso /mnt/iso/ 3 rpm -ivh delt ...