参考文章:
jenkins权限管理

插件

Role-based Authorization Strategy

设置安全策略

路径:系统管理-Configure Global Security-授权策略,选择Role-Based Strategy:

save后,系统管理中出现Manager and Assign Roles选项

用户权限设置选项

路径:系统管理-Manager and Assign Roles,有三个菜单

- Manage Roles
- Assign Roles
- Role Strategy Macros

Manage Roles

该类配置的权限实际上是一个组别或者叫一类人得权限,在原有的权限分类中分一个大类,将零散的权限进行归类,分别分为
- Global roles:全局角色权限
- Project roles:项目角色权限
- Slave roles:节点角色权限

Assign Roles

Manage Roles将权限分类后,我们就可以在此给不同的人分配不同的权限。

Role Strategy Macros

忽略

用户权限设置

在设置权限前,我们来看看,没进行任何配置的用户具有哪些权限:


直接被拒绝访问,根据提示是因为没有overall/read权限,我们给他来开通overall/read权限.

添加overall/read权限

首先创建具有全局view权限的角色名称,我为了见名知意就叫overall_read角色

然后给Anonymous赋予该overall_read权限,连不登录的用户都能看了,自然而然其他用户也能看了。

这个时候我们就能看到之前登陆时拒绝访问的页面变成了如下页面:

然后我随便操作了几下,发现无法创建JOB,那再赋予创建JOB的权限

赋予Job/Create权限

先创建一个global role:job_create,然后创建一个project role:INF,匹配所有以INF开头的项目

然后给匿名用户赋予job_create角色和INF project role

这个时候qianhui这个用户拥有创建任何job的权限,但是只能看到和操作以INF开头的JOB
如果创建的JOB不是以INF开头的,那么会报404错误,但是该JOB实际已经创建了,只是看不到而已。

项目管理员权限

对于一个普通用户来说,上面的权限已经够了,如果你不想因为其他权限被打扰,那么给每一个项目制定一个管理员权限,赋予一个人,以后该项目的问题找这个人就行了,偷懒的好办法。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐