Jenkins 不同角色不同视图及不同权限设置

公司内部Jenkins项目太多,不同的项目组与开发测试人员要有不同项目的权限。系统自带的矩阵管理不太适合,这里使用Role-based Authorization Strategy插件,使不同的账号有不同的权限,不同的项目。

本次试验的目的是:开发AB两组人员,登录自己的jenkins账号,只可以看到自己项目组的任务,并有创建,删除,修改,run的权限。

1.安装Role-based Authorization Strategy插件,安装后重启jenkins。

这里写图片描述

这里写图片描述

2.启用Role-based Authorization Strategy 
系统管理—Configure Global Security—授权策略—Role-Based Strategy 
这里写图片描述

开启授权策略后,可以在系统管理看到Manage and Assign Roles菜单。

这里写图片描述

Manage and Assign Roles菜单分为Manage Roles和Assign Roles

这里写图片描述

Manage Roles:创建角色

1.Global roles全局角色 
a.必须创建一个admin角色,把所有的权限都给他。 
b.创建一个user角色,要以下权限Overall下的read,JOB下create的。

这里写图片描述

2.Project roles 项目角色 
添加2个项目角色,这里为了以后运维方便,使用通配符匹配项目。A组人员的项目以A开头,他们自己创建项目必须以A开头,如不以A开头,可以创建出新项目,但是他们会看不到,因为他们的项目权限只匹配了A开头的项目。B组人员同理。

这里写图片描述

Assign Roles: 分配角色 
一共2个user,user1对应A组人员,user2对应B组人员。 
全局角色:这里对应的Overall 的read权限。(必须要,否则看不到任何东西) 
项目角色:这里分配匹配到GROUPA和GROUPB.

这里写图片描述

验证:先登录admin用户,可以看到全部项目。

这里写图片描述

user1登录,应该只能看到A组项目,并对A组项目有管理权限。

这里写图片描述

可以创建A开头的项目,如果不是A开头的,也可以完成创建,就是后面看不到。我们尝试创建一下A1002和B1002。应该是可以看到A1002,B1002在user2下才能看到。

这里写图片描述

user2登录:应该可以看到三个项目。

这里写图片描述

总结:这样管理jenkins,给开发的权限比较大,他们可以自己维护和新建项目,大大减少了运维的杂事,如果想控制的在严格一点,在项目角色哪里,每个项目都建立角色。人员权限也可以分开发和测试等。

posted @ 2018-08-27 19:56  #甜甜8023  阅读(5200)  评论(2编辑  收藏  举报