Jenkins用户权限管理

我们可以利用Role-based Authorization Strategy 插件来管理Jenkins用户权限

1. 安装Role-based Authorization Strategy插件

Jenkins用户权限管理

选中,直接安装
Jenkins用户权限管理

2. 开启权限全局安全配置

Jenkins用户权限管理
授权策略切换为 Role-Based Strategy,保存
Jenkins用户权限管理

3. 创建角色

点击Manage Jenkins选择Manage and Assign Roles
Jenkins用户权限管理

Jenkins用户权限管理

点击Manage Roles

Jenkins用户权限管理

Global roles (全局角色):管理员等高级用户可以创建基于全局的角色
Item roles(项目角色):针对某个或者某些项目的角色
Node roles(奴隶角色):节点相关的权限

我们添加以下三个角色:

  • baseRole :该角色为全局角色。这个角色需要绑定Overall下面的Read权限,是为了给所有用户绑
    定最基本的Jenkins访问权限。

如果不给后续用户绑定这个角色,会报错误:用户名 is missing the Overall/Read permission

  • role1 :该角色为项目角色。使用正则表达式绑定"itcast.*",意思是只能操作itcast开头的项目。
  • role2 :该角色也为项目角色。绑定"itheima.*",意思是只能操作itheima开头的项目。

Jenkins用户权限管理

点击保存

4. 创建用户

点击Manage Jenkins选择Manage User

Jenkins用户权限管理

点击新建用户

Jenkins用户权限管理
分别创建两个用户: tomjim
Jenkins用户权限管理
Jenkins用户权限管理

5. 给用户分配角色

点击Manage Jenkins选择Manage and Assign Roles,点击Assign Roles

Jenkins用户权限管理

绑定规则如下:

  • tom 用户分别绑定baseRolerole1角色
  • jim 用户分别绑定baseRolerole2角色

Jenkins用户权限管理

点击保存

6. 创建项目测试用户权限

以管理员账户john创建两个项目,分别为itcast01itheima01
Jenkins用户权限管理
点击确定
同理创建itheima01项目,最终如下图所示
Jenkins用户权限管理
此时两个项目创建完毕

此时分别以新建用户账号登录,可以发现已经
tom 用户登录,只能看到itcast01项目
jim 用户登录,只能看到itheima01项目
Jenkins用户权限管理
Jenkins用户权限管理