jenkins配置用户权限
前言
在实际使用中,需要对使用jenkins的开发人员或者运维人员控制一定的权限,比如不同的用户只能对指定的项目进行构建等,jenkins本身没有管理用户权限的相关配置,需要借助插件来完成,比较常用的插件叫做Role-based Authorization Strategy
1、安装Role-based Authorization Strategy
搜索Role即可显示该插件
这个安装的很快
从安全配置菜单进入
点击进去可以看到默认情况下,登录进来的用户可以做任何事,也就是权限的粒度是很粗的,因此需要改成如下所示
选择并保存成功后,从系统管理页面进入Manage and Assign Roles
选择manage roles
进入如下的角色配置页面
默认情况下,具有3种角色,Global roles,Item roles,Node roles
- Global roles(全局角色):管理员等高级用户可以创建基于全局的角色
- Item roles:针对某个或者某些项目的角色
- Slave roles:节点相关的权限
我们添加以下三个角色:
- BaseRole:全局角色,该角色需绑定Overall下面的Read权限,是为了给所有用户绑
定最基本的Jenkins访问权限。【注意:如果不给后续用户绑定这个角色,会报错误:用户名 is
missing the Overall/Read permission】 - role1:项目角色,使用正则表达式绑定"web.*",表示只能操作web开头的项目
- role2:项目角色,绑定"app..",意思是只能操作app开头的项目
配置完毕后点击保存
我们知道,在权限分配中,用户是需要配置角色的,即用户拥有了某种角色,即具备了角色对应的权限,下面我们先创建几个用户,进入如下菜单
我们创建两个用户,分别是zhangsan 和 lisi
创建完毕后,我们进入Manage and Assign Roles 进行用户的角色配置
将上面自己添加的角色分别为两个用户进行关联,保存
接下来,使用管理员账户创建两个项目分别为,web-demo和app-demo,验证一下权限是否生效
使用zhangsan 和 lisi两个账户分别登陆一下,进入主页面后,可以发现各自只能看到上面的角色配置中以web开头和以app开头的项目
本篇主要讲述了在jenkins中使用Role-based Authorization Strategy 插件来完成对用户的权限分配和管理,主要是操作过程比较繁琐,难度不大,希望对看到的同学有用,最后感谢观看!