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