Jenkins常用插件介绍之权限控制插件Role-based Authorization Strategy

2021-03-08 11:11:10 浏览数 (1)

除了搭建jenkins时默认安装的插件之外,有时候扩展功能,还需要安装一些其他的插件,下面为大家简单介绍一下Role-based Authorization Strategy插件。

背景:

当我们需要对jenkins做访问权限控制的时候,而且公司项目比较多,角色比较多的时候,就需要对每个人可操作的权限做控制,避免配置被别人误删或者修改。而且权限的控制最好细化到每一个员工,不要每个项目/部门用公共账号,到时候出了问题都不知道谁整出来的。 而且有些特殊的情况,也是需要授权给每个项目的人员自己维护一些配置的。

插件安装:

插件管理->可选插件->搜索Role-based Authorization Strategy ,勾选后点击直接安装即可

安装完成后页面显示如下:

配置:

插件安装完成之后,是需要在全局安全配置中将授权策略切换为Role-Based Strategy,才可以通过创建角色的方式去控制权限

更改授权策略后,在jenkins的配置选项中会多出来一个选项:

Manage and Assign Roles

实操:

下面小编演示一下怎么控制不同用户/角色的操作权限。

1、首先,在jenkins上创建出多个view(视图),可以以项目名称或部门名称命名,后续对应部门下的所有配置都可以在一个视图下显示。

现在新增2个job名称分别为 project_a_api 和 project_abc 的 job,检查一下view中的显示效果:(会按照对应view中配置的正则表达式进行过滤)

2、在用户管理中新增几个用户用来测试权限分配

3、主页->Manage Jenkins->Manage and Assign Roles

  • 先看一下角色管理:

Global roles下不能给除管理员以外的其他角色授权read权限,否则用户能看到所有job,只是无法操作而已,这样就没办控制对应项目组的用户只能看自己项目的job,而且会出现一个用户展示很多job,体验不友好!

  • Global roles :除了admin角色外,其他角色都需要自己重新创建,这里可以创建开发,测试,qa等角色,然后分别给对应的角色授权 job的增删改等操作的权限。这里针对开发的话,暂时只分配job构建和取消构建的权限。这个是全局的角色权限,还可以针对不同的job再单独授权更细的权限 ,全局role的权限建议不要给太大
  • Item roles :为针对不同的job创建的角色

角色的权限为 Global roles Item roles 的并集

  • Node roles:针对节点相关的权限控制 ,这个一般用的少,小编暂时没去仔细研究。
  • 接下来分配角色

user001 登录后的效果如下:只能看project_a 项目相关的view和job,并且job是没有删除权限

user002 登录后的效果如下:只能看project_b 项目相关的view和job,并且job是有删除权限的。

本次插件的分享就到这了,谢谢您的观看。

0 人点赞