目录
- 背景
- 步骤
- 1. 安装插件
- 2. 配置Gitlab Group
- 3. 配置 Jenkins 授权策略
- 4. 配置 Jenkins 角色与授权
- 5. 验证
背景
版本
- 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