系统管理–>管理用户–>新建用户
1.2 创建项目任务
==========
新建两个项目project_a、project_b
我这里是以管理员身份登录的。我的视图–>新建任务
任务内具体设置,我这里先忽略。
1.3 安装插件
========
系统管理–>插件管理–>可选插件
输入插件名称 Role-based Authorization Strategy
如果你已经安装过该插件,则在已安装一栏中可以看到该插件
二、配置全局安全策略
==========
系统管理–>全局安全配置(Configure Global Security)
授权策略选择 Role-Based Strategy
三、管理和分配角色
=========
3.1 配置Manage Roles
==================
系统管理–>Manage and Assign Roles–>Manage Roles
3.1.1 创建全局角色并授权
===============
新增两个全局角色RD(开发)、OP(运维)并授予全局的Read权限,这里如果没有授权的话,普通用户登录到jenkins则会提示:用户没有Overall/read权限
3.1.2 创建项目角色并授权
===============
新增两个项目角色project_a_maneger、project_b_manager,并授权。
Role to add:项目角色名称
Pattern:项目角色对应的项目,这里可以用正则匹配一类项目任务。
新增项目角色后授权
我这里对两个角色授予管理对应项目的所有权限
保存
==
2.3 配置Assign Roles
==================
系统管理–>Manage and Assign Roles–>Assign Roles
在2.2已经配置好了角色和权限,那这一步就是给用户分配角色,或者说是让上面的配置生效
首先在Global roles里面添加之前创建的用户
添加完成后给用户分配角色,张三为开发人员即RD,李四为运维人员即OP
保存
==
这样就将张三李四两个人员与2.2里面设置的全局角色关联了起来,现在两者都有 全部/read 权限,可以正常登陆jenkins了,登陆测试一下吧
登陆成功没有问题。你也可以测试一下将2.2中的Global roles设置里的全剧角色RD对应的Read权限去掉, 保存一下 ,修改配置记得保存
现在再去尝试使用张三用户登录,就会报错了
由于没有全局读权限,不会显示任何内容。
测试结束,记得将全局角色RD的读权限恢复, 保存 ,接下来接着配置 Assign Roles 的 Item roles
在Item roles中添加之前创建的两个角色张三、李四
添加完成后给用户分配角色,张三分配 project_a_manager 的角色 ,李四分配 project_b_manag
【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
e 的角色
这样我们就将张三李四分别和两个项目角色关联起来了,关联后项目角色的权限就自动对应到了用户上面,即project_a_manager这个项目角色能管理项目project_a,而张三有了这个角色后也能管理项目project_a了。 保存 配置然后测试一下。
四、 测试
=====
使用张三用户登录
张三只能看到项目project_a
使用李四用户登录
李四只能看到项目project_b
这样我们就实现了,不同用户管理不同项目的目的。
总结一下,用户权限的控制其实是依赖于项目角色的权限控制,也就是项目角色才是核心,项目角色将用户和项目关联起来,在项目角色上配置对于项目的权限。
进阶