目录
一、部署用户权限管理插件
二、用户的项目权限配置
全局用户角色(Global roles)配置
项目角色(Project roles)配置
将用户与全局用户角色以及项目角色关联
权限验证
从插件市场下载并部署插件Role-based Authorization Strategy。
部署完成后,进入Jekins平台-》系统管理-》全局安全设置-》访问控制-》授权策略
设置为:Role-Based Strategy,然后保存。
在进行用的项目权限配置前,需要了解进行全局用户角色(Global roles)与项目角色(Project roles)的规划。
全局用户角色(Global roles)可以理解为具有相同权限的用户的集合,即用户组的概念。
项目角色(Project roles)可以理解是一批项目的集合,用户对这些项目具有相同的权限。
单个用户的最终权限=所属全局用户角色权限+项目角色权限;注意:这里的权限并不是完全的并集,这里的权限都是基于项目的。
例如:用户A具有如下权限:
全局用户角色:查看所有job任务,不具备启动任务的权限
项目角色1:查看test_开头的所有任务,具备启动任务权限,不具备取消任务权限。
项目角色2:查看dev_开头的所有任务,具备启动任务权限,具备取消任务权限。
最终用户A具备的权限就是:可以查看所有的job任务;对于test_开头的所有任务,具备启动任务权限,不具备取消任务权限;对于dev_开头的所有任务,具备启动任务权限,具备取消任务权限。
因此基于这样的原则,首先要进行全局用户角色以及项目角色的设计。
由于需要全部按照项目组去进行管理,因此全局用户角色只分配了默认的最基础的权限:全部的read,这个必须设置,如果用户不具备这个权限,登陆后,就会有提示,无法查看任何内容。
进入Jekins平台-》系统管理-》Manage and Assign Roles-》Manage Roles
在Role to add 编辑框中输入新的全局用户角色的名称,并点击add。
在界面上设置该用户的权限。
例如:添加cuser角色,设置全部的read。
进入Jekins平台-》系统管理-》Manage and Assign Roles-》Manage Roles
在Role to add编辑框输入项目角色的名称,在Pattern编辑框输入匹配job的正则表达式。
例如:添加test项目角色,匹配所有test开头的job,允许用户具备启动任务以及取消任务的权限。
进入Jekins平台-》系统管理-》Manage and Assign Roles-》Assign Roles
新建用户test,设置属于全局角色 :cuser,属于项目角色:test。
使用test用登陆后,即可看到所有test开头的job。
并且对任务有取消的权限。
相关的原理就是如此,如有其他需求,可再进行调整。