Jenkins权限控制插件Role-based Authorization Strategy

来源:互联网 发布:golang sleep 编辑:程序博客网 时间:2024/06/02 06:15

公司内部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,给开发的权限比较大,他们可以自己维护和新建项目,大大减少了运维的杂事,如果想控制的在严格一点,在项目角色哪里,每个项目都建立角色。人员权限也可以分开发和测试等。

阅读全文
0 0
原创粉丝点击