码迷,mamicode.com
首页 > 其他好文 > 详细

Jenkins 配置基于角色的项目权限管理

时间:2018-08-16 16:29:53      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:一个   -o   a20   分支   images   com   账号登录   water   用户   

一、前言

Jenkins是个好东西,开发运维测试的老江湖应该都听过,在此我就不再多做介绍jenkins是个什么东西了。

jenkins自身的权限管理,无法实现用户指定显示视图或者视图中指定的jobs,之前分配的jenkins帐号是拥有所有权限的,因为担心故意或者误删job的情况。 我们使用jenkins自身的权限控制,而实现的效果用户只能构建,不能查看修改配置和删除job。虽然避免了故意或者失误删除job的情况,但是有时候开发需要修改配置,比如说更改构建的分支,或者想查看构建的参数,脚本就需要叫运维协助。对开发来说比较麻烦,对运维也很苦恼。

1、解决方法

为jenkins安装角色策略插件,通过配置角色策略可以解决上面问题。

  1. 每个项目分配两个账号,一个账号可以查看job配置,修改配置,构建新的权限,不能删除,不能创建job,另一一个账号只有构建权限。
  2. 不同项目组账号登录之后,jenkins视图只显示自己项目组的job。

2、规划

我们假设我们有两个项目组,分别是b和q,每个项目组两个账号,分别是 btest,badmin,qtest,qadmin。

项目 用户 权限 视图 角色
b badmin 修改,查看,构建等 b badmin
b btest 只构建 b buser
q qadmin 修改,查看,构建等 q qadmin
q qtest 只构建 q quser

二、配置

1、安装插件

系统管理--->管理插件。

技术分享图片

2、全局安全配置

系统管理--->全局安全配置。

技术分享图片

3、创建用户

系统管理--->管理用户

技术分享图片

4、创建角色

系统管理--->Manage and Assign Roles
技术分享图片

技术分享图片

1、创建一个Global roles

我们先创建一个全局角色user,赋予全局标签下面的Read权限。

技术分享图片

2、创建规划项目的角色

分别创建两个项目的角色,按照规划的分配权限,Pattern用于给项目匹配 job,使用正则表达式。

技术分享图片

5、给用户分配角色

系统管理--->Manage and Assign Roles--->Assign Roles

技术分享图片

6、创建项目视图

我这里只展示创建其中一个视图,另一个方式一样。
技术分享图片

技术分享图片

三、登录验证

1、创建 job

因为创建的账号都没有赋予创建job的权限,所以我们先使用最高的管理账户创建几个job,具体如下:

技术分享图片

技术分享图片

2、项目隔离验证

我们分别登录 btest 和 qtest 这两个账号,分别查看一下各自账号下面可以查看到的 job。

btest

技术分享图片

qtest

技术分享图片

我们可以看到,隔离成功,不同的项目值可以看到各自的 job。

3、权限验证

我们分别登录 badmin 和 btest ,查看其权限。

badmin

技术分享图片

btest

技术分享图片

我们可以看到,各自看到的权限就是我们在角色里面赋予的权限,没有问题。

Jenkins 配置基于角色的项目权限管理

标签:一个   -o   a20   分支   images   com   账号登录   water   用户   

原文地址:http://blog.51cto.com/wzlinux/2160778

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!