Jenkins用户权限配置、管理

  • 一、默认配置
  • 二、扩展配置(插件支持)
  • 安装插件:Role-based Authorization Strategy
  • 配置
  • Manage Roles
  • Assign Roles
  • 管理用户


当Jenkins的管理、使用人员比较多的时候,就需要为用户配置权限了;

一、默认配置

jenkins 显示 invalid java directory jenkins additional behaviours_系统管理


在系统管理中 -> 全局安全配置 -> 授权 -> 使用项目矩阵授权配置每个用户的访问、操作权限

Allowo users to sign up是允许用户自行创建用户,但是在配置矩阵授权时,新用户创建后没有任何权限,权限需要管理员指定,但这只能控制用户对Jenkins的访问权限。

如果想要区分开每个人可以使用的Job或者每个人对每个Job的使用权限,或者对Jenkins的配置是否开放,这样的需求Jenkins本身是不支持的,需要额外的插件支持和配置。

二、扩展配置(插件支持)

安装插件:Role-based Authorization Strategy

如果需要不同的用户只能操作指定的工程,默认的只能配置到用户可以操作哪部分的功能,不能具体到项目,这时就需要使用扩展的配置

点击系统管理->插件管理

jenkins 显示 invalid java directory jenkins additional behaviours_系统管理_02


这是已经安装了,未安装的请到可用插件标签页,然后在右上的过滤中搜索:Role-based Authorization Strategy,然后安装图中最后一个所示的插件;

配置

在系统管理中 -> 全局安全配置 -> 授权策略 -> Role-Based Strategy

jenkins 显示 invalid java directory jenkins additional behaviours_系统管理_03


授权选择Role-based strategy,保存,返回

再次查看系统管理菜单就会出现如下菜单:

jenkins 显示 invalid java directory jenkins additional behaviours_Jenkins_04


进入此菜单

jenkins 显示 invalid java directory jenkins additional behaviours_系统管理_05

Manage Roles

第一块区域:分配权限组的全局授权
第二块区域:分配项目视图名称的正则表达式匹配的项目
第三块区域:节点名称正则表达式匹配显示项目

  • 需要注意的是:
    全局权限的设置第一影响,下面的权限都是在全局权限的基础上,所以如果全局权限够大、够全,后面的都会覆盖,所以需要注意全局的权限分配的不要太细,否则会影响项目权限的设置;
    例如:
    1、全局的配置中A组名如果选择了任务的build、read权限,那么无论在项目权限中如何配置限制,对于在A组中的人,都能看到所有的任务,并且可以build,因为全局的配置覆盖了项目权限;
    2、正确的应该是全局权限只配置all的read,和视图的read即可,然后在项目权限中使用正则表达式匹配任务名分配分组,这样在对应的项目权限组中的人,就会在全局的read权限下,在根据项目权限分配显示和build权限
    3、如果是管理者、或者访客这种角色,肯定不会涉及项目的内容配置等,或者就是允许查看所有,可以直接在全局配置中控制相关权限,不必再项目权限中配置,给用户分配时,也是直接分配到全局的权限组中即可,无需向项目权限组分配)

Assign Roles

管理各区块中,把每个用户分配到各个权限组中,这里的问题就是用户不会显示在这,需要手动输入

在User/group to add中输入用户名,然后点击Add,就会加入到对应的列表中,就可以分配权限了,如果输入对了,就会显示如图的人物图标,错误的用户信息会有个×,就到用户列表中确定一下,在输入就可以了。

jenkins 显示 invalid java directory jenkins additional behaviours_Jenkins_06

管理用户

上面的菜单没有用户可以配置权限,需要先添加用户,在系统管理中找到如下菜单

jenkins 显示 invalid java directory jenkins additional behaviours_系统管理_07


进入后如图所示,可以看到当前的用户列表:

jenkins 显示 invalid java directory jenkins additional behaviours_Jenkins_08


可以通过点击左侧的新建用户添加用户,填写对应的信息,点击新建用户即可

jenkins 显示 invalid java directory jenkins additional behaviours_Jenkins_09