Jenkins系列之-—04 配置用户和权限控制
一、安装插件
插件名称:Role-based Authorization Strategy
Role Strategy Plugin插件可以对构建的项目进行授权管理,让不同的用户管理不同的项目。
二、安全配置——授权策略配置
系统管理—>全局安全配置(Configure Global Security ),其中共有五种授权策略
1. Role-Based Strategy
1.1. 选择授权策略中的Role-Based Strategy,并点击保存
1.2. 选择系统管理—>Manage and Assign Roles (管理和分配角色)
在新开的页面中有如下3个菜单:
- Manage Roles
- Assign Roles
- Role Strategy Macros
1.3. 选择"Manage Roles"进行角色配置。
【Global roles】全局角色配置:
添加wts这个角色并进行授权
【Project roles】项目角色配置:
添加了三个项目角色:uat,dev和test。dev用于管理开发环境的项目,test用于管理测试环境的项目。
Pattern:对构建的项目名称进行匹配,可以使用正则表达式。
【Slave roles】从属角色配置:
- 1.4.选择Assign Roles,分配角色
在全局角色中添加普通用户,并将普通用户加入到全局角色wts中,保证它们可以正常登录jenkins。
在项目角色中添加普通用户,并根据实际需求勾选项目角色,这样不同的用户可以对不同项目有管理权限。
2. 任何用户可以做任何事(没有任何限制)
项目内不推荐用
3. 登录用户可以做任何事
可勾选项---Allow anonymous read access(允许匿名读取访问)
4. 遗留模式
适用于Jenkins1.164以前的版本.也就是说,如果你是"admin"角色,那么你将拥有Jenkins的一切控制权,其它角色(包括匿名用户) 只有查看权限.
5. 安全矩阵
选择安全矩阵 (在配置页面将鼠标放到对应权限上即可查看帮助):
其中有一些比较特别的权限:
Overall 的Administer 【最大权限】,拥有该权限可以干任何事情。
Overall的Read【最基本的权限】,用户必须赋予阅读的权限,不然什么都看不到。
注:
每个用户后都有2个图标,第一个是全选功能,第二个是清空功能
6. 项目矩阵授权策略
说明:安全矩阵和项目矩阵授权策略的配置是一样的,唯一的区别是项目矩阵授权策略支持在Job的配置页面再次配置授权策略。
三、踩到的坑
问题描述
首次配置jenkins的安全策略时,选择安全矩阵,但是没有给任何用户付权限,点击保存后。管理员登录失效。重新登录系统提示admin没有Overall/Read权限的异常。
解决方案:修改jenkins的config.xml配置文件。
3.1. 通过查看jenkins进程查看JENKINS_HOME的目录
ps -ef | grep jenkins
3.2. 编辑jenkins的config.xml这个配置
命令:vi /var/lib/jenkins/config.xml
配置文件如图:
需要修改的是红线圈起来的部分。
在该标签内加入以下配置即可。
<permission>hudson.model.Hudson.Administer:anonymous</permission>
<permission>hudson.model.Hudson.ConfigureUpdateCenter:anonymous</permission>
<permission>hudson.model.Hudson.Read:anonymous</permission>
<permission>hudson.model.Hudson.RunScripts:anonymous</permission>
<permission>hudson.model.Hudson.UploadPlugins:anonymous</permission>
修改后的配置文件,如下图:
3.3 重启jenkins服务即可。
Jenkins系列之-—04 配置用户和权限控制的更多相关文章
- Kafka SASL/SCRAM+ACL实现动态创建用户及权限控制
kafka系列文章 第一章 linux单机安装kafka 第二章 kafka--集群安裝部署(自带zookeeper) 第三章 Kafka SASL/SCRAM+ACL实现动态创建用户及权限控制 Ka ...
- 《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令
Linux用户以及权限相关命令 查看身份 id:Display user identity. 这个命令的输出会显示uid,gid和用户所属的组. uid即user ID,这是账户创建时被赋予的. gi ...
- Linux 配置SFTP,配置用户访问权限
之前我服务器是使用的Windows Server 2003,这段时间由于访问量变大我还是机智的换成Linux了,在搭建FTP的时候看到网上都是推荐vsftpd,不过我不推荐这个家伙,看官且看下文. 我 ...
- 使用JavaEE的ServerAuthModule模块和web.xml进行相应配置,实现对用户的权限控制
ServerAuthModule这里不细说,可以自行百度. 重点在注释: <!-- 声明用于安全约束的角色 --> <security-role> <role-name& ...
- linux入门系列9--用户管理及文件权限控制
前面文章分享了Linux下常用命令以及Shell编程相关知识,本节继续学习Linux用户管理及文件权限控制. Linux是多用户多任务操作系统,具有很好的稳定性和安全性.既然是多用户,那就意味 ...
- springboot-29-security(二)用户角色权限控制
本博客基于上一个http://www.cnblogs.com/wenbronk/p/7379865.html 增加了角色的权限表, 可以进行权限校验 一, 数据准备 1, 数据表建立 /* Navic ...
- 简单的RBAC用户角色权限控制
Java web项目中,无论项目是大是小,或多或少都会涉及到用户访问权限的控制,权限管理总体的设计思路就是,不该看的不看,不该做的不做!据我目前的了解,我所知道的几种实现访问权限控制的方式有: JQu ...
- kubernetes dashboard访问用户添加权限控制
前面我们在kubernetes dashboard 升级之路一文中成功的将Dashboard升级到最新版本了,增加了身份认证功能,之前为了方便增加了一个admin用户,然后授予了cluster-adm ...
- Jenkins用户配置(安装好jenkins后,怎么配置用户管理、权限管理)
直奔主题 安装完成后,先开启用户配置 1. 系统管理-->配置权限 2. 启用安全,并选中"安全矩阵" 如上,搞定: 可以按用户去设置各项目的操作权限了: 轻松实现,jen ...
随机推荐
- JS 数组间的操作
JS 数组间的操作(交集,并集.差集) 以下是js数组之间常用的操作,如交集,并集.差集等. 迭代 each是一个集合迭代函数,可以将一个函数作为参数和一组可以选的参数.依次将集合的每一个元素和可选参 ...
- JavaScript设计模式基础之this、call、apply
1.this的指向 除去不常用的with和eval,具体应用中this指向大概能分为4种情况分别是 1.作为对象的方法调用. 2.作为普通函数的方法调用. 3.Function.prototype.c ...
- 移动web touch事件
参考:http://www.cnblogs.com/dojo-lzz/p/5452575.html wap中的原生touch 事件,touchstart.touchmove.touchend.touc ...
- 项目:开发->测试->上线:流程规范
1) 项目分析 2) 项目经理分工协作 程序就具体流程: 1: 按项目名称: 建git, 数据库, 线上测试虚拟机 2: 按项目经理分配的大的模块. 自行划分工作阶段 a: 划分为小的模块 b: 预估 ...
- 数据结构( Pyhon 语言描述 ) — — 第4章:数据和链表结构
数据结构是表示一个集合中包含的数据的一个对象 数组数据结构 数组是一个数据结构 支持按照位置对某一项的随机访问,且这种访问的时间是常数 在创建数组时,给定了用于存储数据的位置的一个数目,并且数组的长度 ...
- java.sql.SQLException: Data truncated for column 'lastSeason' at row 1
在使用项目将数据存储到 datetime 的字段 ,抛出了这个异常 而我是使用Java.util.Date 存储过去的 解决代码如下: Date date = new Date(); demo.set ...
- 如何将数据放入下拉框List值
最近在做下拉框,里面放入值大概有这几种 //仓库业务类型 第一种 model.addAttribute("warehouseBizTypeList", basePropertySe ...
- PS学习笔记(02)
书籍推荐: <设计之下>这本APP设计书字里行间都透露出了真实,作者能将其工作流程和方法分享出来,实在值得尊敬.通过这本书全面了解了真实的设计工作是怎么做的,今后可以用到自己的工作中.赞! ...
- 理解js的几个关键问题(1):全局变量new和关于hasOwnPropery和PropertyIsEnumerable 等
一.作用域和全局变量 var test=function(){ var a=1; setTimeout(function(){ console.log(a); a=2; },1000); a=3; s ...
- Python模块学习 - openpyxl读写excel
openpyxl模块介绍 openpyxl模块是一个读写Excel 2010文档的Python库,如果要处理更早格式的Excel文档,需要用到额外的库,openpyxl是一个比较综合的工具,能够同时读 ...