Jenkins进阶-用户权限管理(10)

   在版本发布的由于大家的分工不同,所以想通过控制用户的账号达到权限管理,对每个角色进行权限控制,最初通过"项目矩阵授权策略"的策略对每个项目进行单一的权限控制,当时也满足了效果,随着项目越来越多,这种方式虽然可以满足,但是越来越麻烦操作起来比较笨重,所以考虑到使用第三方插件Role Strategy Plugin来解决问题。

 一、安装插件,Role Strategy Plugin

  1. 系统管理->插件管理-可选择插件中安装;
  2. 从wiki.jenkins.io网站下载hpi插件,通过上传插件进行安装;

注意:

  安装完成插件以后,记住重新启动Jenkins,要不然插件无法生效,插件安装完成以后在【系统管理->Configure Global Security->授权策略-> Role-Based Strategy】检查是否包含插件Role-Based Strategy,存在则证明安装成功;

二、策略的配置

  1.授权策略中选择" Role-Based Strategy",保存启用 Role-Based Strategy授权策略;

  2.启用 Role-Based Strategy策略后,系统管理中会出现【Manage and Assign Roles】;

  

  3.规划下我们需要用户,admin用户管理全局对Jenkins进行管理,tester 用户操作测试区域任务,ops用户操作生产区域任务,dev用户操作开发区域任务;

  4.根据我们的用户来规划角色;

   全局角色划分:

    管理员角色:admin;

    只读角色:read;

       管理角色:manage;

 

  项目角色划分:

    开发角色:dev

    测试角色:test

    运维角色:ops

  

注意:

  添加项目角色时,

需要制定匹配项目的模式,如上图中的Pattern,官方文档介绍该选项支持正则表达式,如“Roger-.”表示所有以Roger-开头的项目,“(?i)roger-.*”表示以roger-开头的项目并且不区分大小写,如以ABC开头的项目可以配置为“ABC|ABC.*”,也可以使用“abc|bcd|efg”直接匹配多个项目。

  5.分配角色,Manage and Assign Roles,点击Assign Roles,分配之前首先需要我们把对应的用户创建完成;

  

  全局角色分配

  

 项目角色分配

   

保存分配结果。

三,检验分配的结果

  1.dev 用户登录的效果,只有查看开发任务,具有构建和查看的权限;

  视图效果:

  

 

  任务内部效果:

  

 

  2.tester登录后效果,只有查看测试任务,具有构建和查看的权限;

  视图效果:

  

任务内部效果:

 

3.ops 用户登录的效果,可以对所有的job进行管理,具有构建和编辑、查看的权限;

视图效果:

任务内部效果:

 

这样就可以通过角色的管理对用户的权限进行控制,每个公司的情况不一致,所以大家可以根据自己的实际情况进行调整。

 

 

 

 

  

posted on 2017-10-27 17:11  梦雨情殇  阅读(624)  评论(0编辑  收藏  举报

导航