背景

版本

  • Jenkins Version:Jenkins 2.403
  • Gitlab Version: Gitlab 15.6
  • 部署环境:群晖NAS Docker 部署Jenkins+Gitlab

上一篇文章Jenkins 入门系列之Gitlab 账号登录,Jenkins支持 Gitlab 登录后,并没有对用户的权限做控制,所有能登录Gitlab的人都有admin权限。因此加入Role-based Authorization Strategy基于角色的授权策略插件,用该插件可以做到配置 Gitlab Group来控制Group 中 Member的权限。只需要通过 Role来授权不同的Group不同权限,在Gitlab中将用户加入到该Group中即可完成权限控制。

步骤

1. 安装插件

在插件管理搜索 Role-based Authorization Strategy 即可找到插件点击安装即可

2. 配置Gitlab Group

创建Gitlab Group,这里创建一个用于管理Jenkins权限的组。在这个组下创建其他子组,通过管理子组的用户和权限来管控用户权限。

在这里插入图片描述

Jenkins-auth-admin 组的用户是Jenkins的admin权限

test-auth 组的用户是test开头通配符的View和Job权限

3. 配置 Jenkins 授权策略

在Jenkins的系统管理->全局安全配置的授权策略,选择 Role Based Strategy,应用保存。

在这里插入图片描述

4. 配置 Jenkins 角色与授权

打开系统配置->Manage and Assign Roles

先配置 Role,配置一个全局只读角色和配置一个Item Role,用于给test-auth 组的用户授权

在这里插入图片描述

配置 Assign Roles

这里要注意,博主是当前最新版本,配置group 时要写Gitlab Group的全路径(group/subgroup)。

一些低版本可能直接写subgroup的名称也可以生效,比如:jenkins 2.293

在这里插入图片描述

5. 验证

Jenkins-auth-admin

在这里插入图片描述

test-auth

在这里插入图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐