【05】Jenkins:用户权限管理
写在前面的话
在一个企业研发部门内部,可能存在多个运维人员,而这些运维人员往往负责不同的项目,但是有可能他们用的又是同一个 Jenkins 的不同用户。那么我们就希望实现一个需求,能够不同的用户登录 Jenkins 以后看到不同的项目。Jenkins 提供了简单的权限管理,我们可以在 系统管理 --> 全局安全配置 看到:

但是这里的权限配置太过简略,显然无法满足我们复制的需求,所以在这个时候引入了 Jenkins 的一个插件:Role-based Authorization Strategy
插件:Role-based Authorization Strategy
打开插件中心,我们可以搜索:

重启 Jenkins 以后,再度打开:系统管理 --> 全局安全配置 会发现多了我们刚刚插件的选项

我们选择该配置,同时在 系统管理 中出现了新的选项:

准备工作:
1. 将我们的项目复制成如下用于测试:

2. 新建 3 个测试用户:test / develop / product
打开:系统管理 --> 管理用户

最终用户格式:

配置权限:
打开:系统管理 --> Manage and Assign Roles

我们主要使用上面两种。一个用户想要进行操作必须要有两种角色,一种是全局,一种是 Project:

1. 创建角色:Manage Roles

2. 分配角色:Assign Roles

说明:我们这三个用户其实代表着三个不同的属性,为了区分我给他定义了三种不同角色。这样以后就可以给每个角色授权不一样的权限。
当然,我们这里就给了一个全部的只读权限,用户可以登录,并且修改自己的东西。
3. 创建项目角色:Manage Roles

4. 给用户分配项目权限:Assign Roles

说明:我们给用户分配不同的项目和权限,便于测试对比。
5. 查看权限效果:
test 用户登录后项目:

test 用户项目权限:

test 用户权限说明:test 用户登录后能看到 TEST 开头的项目,包括文件夹,但是对于项目,test 用户都只具有执行权限,而没有修改和配置的权限。
develop 用户登录后项目:

develop 用户项目权限:

develop 用户权限说明:可以看到,因为我们多配置了 Config 权限的原因,develop 相比于 test 用户对于分配给自己权限的项目多了修改配置权限。
product 用户登录后项目:

product 用户对于 TEST 项目权限:

product 用户对于 PRODUCT 项目权限:

product 用户授权说明:我们可以看到,PROCUDT 项目由于授权了 config 权限,所以用户能够修改,TEST 项目没用 config 权限,虽然同样是授权给了 product 用户,但是也是只有执行权限而已。
至此,基本的权限管理大致完成!
特别注意
在我们设置用户权限的时候,默认已经包含了管理员角色:

如果我们一不小心把这个勾去掉了,然后就炸了!
最终的解决办法是:
1. 停止 Jenkins。
2. 备份 /data/jenkins/jenkins-data/config.xml 配置文件。
3. 修改配置:
<useSecurity>true</useSecurity> # 改为
<useSecurity>false</useSecurity>
4. 删除权限配置:建议文件拿来了使用 nodepad++ 类似的工具修改
删除:<authorizationStrategy> 标签及其内部内容。
删除:<securityRealm> 标签及其内部内容。
5. 启动 jenkins,此时不需要用户名密码,查看设置:

默认没有启动安全,我们需要重新配置我们之前的东西!
小结
Role 插件相比于系统的虽然完善了不少,但是仍然在很多时候显得不那么只能,而且前端似乎并不友好。但没办法,这东西没得挑。
【05】Jenkins:用户权限管理的更多相关文章
- [原]Jenkins(十三)---jenkins用户权限管理
* 版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/5337874.html 两种策略的比较
- Jenkins用户权限管理-Role-based Authorization Strategy插件
02-Jenkins用户权限管理-Role-based Authorization Strategy插件 在jenkins的使用过程中,需要给用户分配只管理特定项目的权限来保证项目相关人员只能管理对应 ...
- 九. jenkins用户权限管理
由于jenkins默认的权限管理体系不支持用户组和角色的配置,所以需要使用第三方插件来支持角色的配置: Role-based Authorization Strategy 1.先安装插件,如下: 2. ...
- Jenkins用户权限管理
一.插件安装 插件:Role-based Authorization Strategy版本:2.3.2 二.全局安全配置 进入Jenkins后点击系统管理进入全局安全配置 当插件安装好的时候,授权策略 ...
- Jenkins拾遗--第三篇(用户权限管理)
采访过很多实用Jenkins的同学,发现Jenkins的安全是一个很薄弱的地方.很多公司用作生产部署的Jenkins安全管理都不是很规范,就更别提测试用的Jenkins了. 其实Jenkins是一个很 ...
- jenkins用户权限配置错误,导致登录时提示:没有Overall/read权限
jenkins用户权限配置错误,导致登录时提示:没有Overall/read权限 由于初次接触jenkins,于是在搭建好jenkins以后,想要对用户进行管理,于是乎开始在系统管理->conf ...
- Jenkins系列-Jenkins用户权限和角色配置
由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,这边将使用Role Strategy Plugin,介绍页面:https://wiki.jenki ...
- 练习:python 操作Mysql 实现登录验证 用户权限管理
python 操作Mysql 实现登录验证 用户权限管理
- django 基于proxy实现用户权限管理
项目中经常会遇到用户权限管理的问题,django adminsite已经提供非常实用的用户权限管理机制.不过有些时候,我们希望根据相关用户属性来过滤adminsite中显示的内容.下文将结束如何实现: ...
- RDIFramework.NET ━ 9.8 用户权限管理 ━ Web部分
RDIFramework.NET ━ .NET快速信息化系统开发框架 9.8 用户权限管理 -Web部分 在实际应用中我们会发现,权限控制会经常变动,如:需要调整角色的分配,需要收回与授予某些角色.用 ...
随机推荐
- 蜂鸟E203 IFU模块
E203的IFU(instruction fetch unit)模块主要功能和接口如下: IFU的PC生成单元产生下一条指令的PC. 该PC传输到地址判断和ICB生成单元,就是根据PC值产生相应读指请 ...
- 通过MES技术居然可以防止制造数据造假?
近些年来我们经历了太多制造数据造假事件,特别是前段时间曝出的医药制造事件更是将我们群众的愤怒值推到了最高点.不过我们最应当做的是,冷静下来,思考一下各行各业的我们是不是都该做些什么了?毕竟当下一个灾难 ...
- 章节十四、5- web页面的截图
一.以雅虎网站为例,当我们在登录时,输入错误的用户名然后点击“下一步”,用户名输入框会提示红色字体,这个时候我们就将页面进行截图. http://commons.apache.org/proper/c ...
- 【学习笔记】兄弟连LINUX视屏教程(沈超 李明)
发现自己的linux水平楞个瓜皮,找个视屏教程学习一哈 1 linux系统简介 1.1 UNIX和Linux发展史 unix发展历史:1969年,美国贝尔实验室的肯.汤普森开发出unix系统,1971 ...
- cppcheck代码检测
cppcheck -hCppcheck - A tool for static C/C++ code analysis Syntax: cppcheck [OPTIONS] [files or pat ...
- js 落幕
1.关于路由的跳转 核心是 a 再取出后缀作为参数判断 最后 innerHTML 上 <!DOCTYPE html> <html lang="en"> &l ...
- 如何使用jmockit进行单元测试
1. Jmockit简介 JMockit 是用以帮助开发人员编写测试程序的一组工具和API,它完全基于 Java 5 SE 的 java.lang.instrument 包开发,内部使用 ASM 库来 ...
- Centos 安装Django2.1
一.环境准备 1.1 服务器系统 Centos7 1.2.所需工具 python3(Django 2.0 版本是基于python3 版本,故而安装时需安装python3) Setuptools(> ...
- CF261E Maxim and Calculator
CF261E Maxim and Calculator 洛谷评测传送门 题目描述 Maxim has got a calculator. The calculator has two integer ...
- 点云深度学习的3D场景理解
转载请注明本文链接: https://www.cnblogs.com/Libo-Master/p/9759130.html PointNet: Deep Learning on Point Sets ...