我们可以利用Role-based Authorization Strategy 插件来管理Jenkins用户权限
-
安装Role-based Authorization Strategy插件
-
开启权限全局安全配置
授权策略切换为"Role-Based Strategy",保存 -
创建角色
在系统管理页面进入 Manage and Assign Roles
点击"Manage Roles"
Global roles(全局角色):管理员等高级用户可以创建基于全局的角色 Project roles(项目角色):
针对某个或者某些项目的角色 Slave roles(奴隶角色):节点相关的权限
我们添加以下三个角色:- baseRole:该角色为全局角色。这个角色需要绑定Overall下面的Read权限,是为了给所有用户绑定最基本的Jenkins访问权限。注意:如果不给后续用户绑定这个角色,会报错误:
用户名 is missing the Overall/Read permission
- role1:该角色为项目角色。使用正则表达式绑定"itcast.*",意思是只能操作itcast开头的项目。
- role2:该角色也为项目角色。绑定"itheima.*",意思是只能操作itheima开头的项目。
保存。
- baseRole:该角色为全局角色。这个角色需要绑定Overall下面的Read权限,是为了给所有用户绑定最基本的Jenkins访问权限。注意:如果不给后续用户绑定这个角色,会报错误:
-
创建用户
在系统管理页面进入 Manage Users
分别创建两个用户:jack和tom -
给用户分配角色
系统管理页面进入Manage and Assign Roles,点击Assign Roles
绑定规则如下:
tom用户分别绑定baseRole和role1角色
jack用户分别绑定baseRole和role2角色 -
创建项目测试权限
以itcast管理员账户创建两个项目,分别为itcast01和itheima01
结果为:- tom用户登录,只能看到itcast01项目
- jack用户登录,只能看到itheima01项目
- oo1项目没有