插件名称:Role-based Authorization Strategy正则表达式
Role Strategy Plugin插件能够对构建的项目进行受权管理,让不一样的用户管理不一样的项目。安全
系统管理—>全局安全配置(Configure Global Security ),其中共有五种受权策略ruby
1.1. 选择受权策略中的Role-Based Strategy,并点击保存测试
1.2. 选择系统管理—>Manage and Assign Roles (管理和分配角色)spa
在新开的页面中有以下3个菜单:插件
1.3. 选择"Manage Roles"进行角色配置。code
【Global roles】全局角色配置:
添加wts这个角色并进行受权xml
【Project roles】项目角色配置:blog
添加了三个项目角色:uat,dev和test。dev用于管理开发环境的项目,test用于管理测试环境的项目。进程
Pattern:对构建的项目名称进行匹配,可使用正则表达式。
【Slave roles】从属角色配置:
在全局角色中添加普通用户,并将普通用户加入到全局角色wts中,保证它们能够正常登陆jenkins。
在项目角色中添加普通用户,并根据实际需求勾选项目角色,这样不一样的用户能够对不一样项目有管理权限。
项目内不推荐用
可勾选项---Allow anonymous read access(容许匿名读取访问)
适用于Jenkins1.164之前的版本.也就是说,若是你是"admin"角色,那么你将拥有Jenkins的一切控制权,其它角色(包括匿名用户) 只有查看权限.
选择安全矩阵 (在配置页面将鼠标放到对应权限上便可查看帮助):
其中有一些比较特别的权限:
Overall 的Administer 【最大权限】,拥有该权限能够干任何事情。
Overall的Read【最基本的权限】,用户必须赋予阅读的权限,否则什么都看不到。
注:
每一个用户后都有2个图标,第一个是全选功能,第二个是清空功能
说明:安全矩阵和项目矩阵受权策略的配置是同样的,惟一的区别是项目矩阵受权策略支持在Job的配置页面再次配置受权策略。
首次配置jenkins的安全策略时,选择安全矩阵,可是没有给任何用户付权限,点击保存后。管理员登陆失效。从新登陆系统提示admin没有Overall/Read权限的异常。
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服务便可。