Jenkins系列之-—03 配置用户和权限控制

1、安装插件

插件名称:Role-based Authorization Strategy正则表达式

Role Strategy Plugin插件能够对构建的项目进行受权管理,让不一样的用户管理不一样的项目。安全

 

2、安全配置——受权策略配置

系统管理—>全局安全配置(Configure Global Security ),其中共有五种受权策略ruby

1. Role-Based Strategy

1.1. 选择受权策略中的Role-Based Strategy,并点击保存测试

1.2. 选择系统管理—>Manage and Assign Roles (管理和分配角色)spa

在新开的页面中有以下3个菜单:插件

  • Manage Roles
  • Assign Roles
  • Role Strategy Macros

1.3. 选择"Manage Roles"进行角色配置。code

【Global roles】全局角色配置:
添加wts这个角色并进行受权xml

【Project roles】项目角色配置:blog

添加了三个项目角色: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的配置页面再次配置受权策略。

3、踩到的坑

问题描述

首次配置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服务便可。

相关文章
相关标签/搜索