Jenkins 集成Role-based Authorization Strategy插件实现企业级权限管理
文章目录
- 一、Jenkins权限简介:
- 二、Role-based 插件下载和启用
- 2.1. 下载安装
- 2.2. Jenkins 启用Role-Based Strategy
- 三、实战案例演示:
- 3.1. 新建用户
- 3.2. 创建角色
- 3.2.1. 创建一个全局角色user,赋予读(Read)的权限
- 3.2.2. 不同的项目,创建不同的角色
- 3.3. 分配角色
- 四、创建视图
- 4.1. 创建a项目视图
- 4.2. 在视图筛选a项目
- 4.3. 同理创建b项目视图
- 4.4. 在b的视图中筛选项目
- 4.5. 接下来在视图中创建5个项目(任务=项目)
- 五、用户admin管理员账号创建项目
- 5.1.【新建Item】创建a_1项目
- 5.2.【新建Item】创建a_2项目
- 5.3.【新建Item】创建b_1项目
- 5.4.【新建Item】创建b_2项目
- 5.5.【新建Item】创建b_3项目
- 六、登录验证
- 6.1. testa用户登录测试:
- 6.2. admina用户登录测试:
- 6.3. testb用户登录测试:
- 6.4. admina用户登录测试:
一、Jenkins权限简介:
Jenkins权限的划分是基于角色的。
简言之就是:一个角色可以控制或者有权利对某些菜单的可执行权或者读的权限(权限=资源);
举个栗子:
现在有2个角色,分别是技术测试人员、管理员用户->角色->菜单
该用户属于那个角色,角色控制着那几个菜单技术测试人员下面可以有多个用户,JStest1、JStest2
管理员下面可以有多个用户,admin1、admin2技术测试人员,只能构建项目
管理员,可以构建项目又可以对项目进行配置编辑
二、Role-based 插件下载和启用
Role-based Authorization Strategy插件。下载安装和jenkins中启用此插件
2.1. 下载安装
【系统管理】-【管理插件】-【可选插件】-输入【Role-based】进行搜索-【直接安装】Role-based Authorization Strategy插件,可以实现角色对用户的管理。
英文版本:
翻译版本:
2.2. Jenkins 启用Role-Based Strategy
- 安装完成后,配置Jenkins权限应用或者启动Role-Based Strategy(授权策略)。
- 流程:点击【首页】的【系统管理】-【全局安装配置】-【授权策略】-选择(Role-Based Strategy),保存刷新
即可。在右侧菜单中就会出现【管理用户】这一菜单。
英文版本:
翻译版本:
三、实战案例演示:
需求:
实现不同角色下不同用户对不同项目的权限是不一样的。实现思路:
1、创建4个用户分别为admina、testa、adminb、testb
2、创建4个角色admina、testa、adminb、testb
3、分配角色:admina用户属于admina角色;testa用户属于testa角色;adminb用户属于adminb角色;testb用户属于testb角色
4、给不同角色分配不同菜单权限
5、新建2个视图
6、在2个视图下面分别创建5个项目注:一个角色下面可以有多个用户
3.1. 新建用户
- 新建4个用户,分别为admina、testa、adminb、testb
【系统管理】-【管理用户】-【新建用户】依次创建以下4个用户。
3.2. 创建角色
【系统管理】-【Manage and Assign Roles】-【Manage Roles】
3.2.1. 创建一个全局角色user,赋予读(Read)的权限
3.2.2. 不同的项目,创建不同的角色
针对不同的项目,创建不同的角色,分别创建admina、testa、adminb、testb;4个角色,这4个角色分别控制不同项目的不同菜单权限。
执行步骤有2点,
角色名称和不同项目的区配,可以采取正则表达式。
例如:
a项目都是以a开头或者结尾,就可以使用a.*,或者*.a来表示,其他项目同上,找到每个项目不同的项目名称特点,来区分即可。
3.3. 分配角色
到目前为止:
4个用户创建完成,4个角色创建完成,用户和角色尚未进行关联,接下来,给要不过户赋予不同的角色,来控制项目。
【系统管理】-【Manage and Assign Roles】-【Assign Roles】
分别为刚创建的4个人角色添加和指定到全局角色
命令 | 说明 |
---|---|
admin用户 | 指定全局角色为admin |
admina用户 | 指定全局角色为admina |
testa用户 | 指定全局角色为testa |
adminb用户 | 指定全局角色为adminb |
testb用户 | 指定全局角色为testb |
执行步骤先添加,在指定全局角色
竖着用户,横着为角色
用户分别为: | admina、testa、adminb、testb、匿名用户 |
---|---|
角色分别为: | admina、testa、adminb、testb;4个角色 |
这样配置后,用户和角色就绑定好了
四、创建视图
4.1. 创建a项目视图
- 【新建视图】-输入【项目视图名称】-选择【List View】-【确定】
4.2. 在视图筛选a项目
【任务过滤器】选择【使用正则表达式在视图中显示任务】-输入【正则表达式】点击【保存】即可
4.3. 同理创建b项目视图
【新建视图】-输入【项目视图名称】-选择【List View】-确定
4.4. 在b的视图中筛选项目
4.5. 接下来在视图中创建5个项目(任务=项目)
五、用户admin管理员账号创建项目
创建5个任务,分别a_1,a_2,b_1,b_2,b_3,其中a项目有2个任务,b项目有4个任务;
5.1.【新建Item】创建a_1项目
5.2.【新建Item】创建a_2项目
5.3.【新建Item】创建b_1项目
5.4.【新建Item】创建b_2项目
5.5.【新建Item】创建b_3项目
六、登录验证
分别使用admina、testa、adminb、testb进行登陆验证
6.1. testa用户登录测试:
- 点击任务名称进入
- 只能构建项目,其他无操作权限
6.2. admina用户登录测试:
- 点击任务名称进入
- 可见权限比testa多了很多
6.3. testb用户登录测试:
6.4. admina用户登录测试: