Skip to content

第一步:安装角色策略插件

  1. 安装插件Role-base Authorization Strategy
  2. Jenkins > Manage Jenkin > Configure Global Security > Authorization > 选中Role-Based Strategy
  3. Jenkins > Manage Jenkin > Manage and Assign Roles
  4. Manage Role

为jenkins安装角色策略插件,通过配置角色策略可以解决上面问题。插件名称:role-strategy.hpi

每个项目分配两个账号:

一个账号可以查看并修改job配置,修改配置,可新建job –(对应开发)

另外一个账号只有构建权限,无法修改 job配置 –(对应测试)

不同项目组账号登录之后,jenkins视图只显示自己项目组的job

第二步:准备项目测试账号

规划两个项目组,如内部工单系统、账户管理系统,分别以BPS、AMS简称。

每个项目组设置两个账号,如:BPS_DEV 代表BPS开发人员账号、BPS_SIT 代表BPS测试人员账号

账户管理系统也按如下设置:AMS_DEV 代表AMS开发人员账号、AMS_SIT 代表AMS测试人员账号

第三步:启用角色控制权限

管理Jenkins——Configure Global Security,勾选以下两项:

第四步:创建角色

管理Jenkins——Manage and Assign Roles——Manage Roles,

创建一个全局角色

这里简单说明以下,全局角色和项目角色的区别

全局角色即拥有Jenkins全部访问权限

项目角色即拥有指定项目的访问权限。

这里先创建一个全局角色:zhouyou ,这里勾选Overall的read权限

创建项目角色

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

正则表达式

这里的正则表达式和脚本里的正则表达式有点不太一样,简单介绍一下规则

AMS.* 表示所有以AMS开头的项目

(?!)AMS. * 表示所有以AMS-开头的项目,并且不区分大小写

AMS|BPS.* 表示所有以AMS或BPS开头的项目

创建项目的角色及权限划分如下

第五步:给用户分配角色

系统管理——Manage and Assign Roles——Assign Roles

第六步:创建视图

以账户管理系统AMS为例

第七步:创建构建任务

案例:

Assign Roles

二、 项目矩阵授权策略

1、新增用户

**方式一:开发人员自行注册用户,操作步骤如下: **

**1)系统管理 -->> 全局安全配置 -->> 勾选允许用户注册 **

注:如果此处选择了"允许用户注册",那么任何人都可以注册,只是注册后没有任何的操作权限,登陆后会提示"Access Denied,没有Overall/Read权限",还是需要在管理员账号下授权后才能操作)

2)配置完毕后,返回登录页,如下图

方式二:管理员创建用户,操作步骤如下

1)系统管理 -->> 管理用户 -->> 新建用户

**2)输入注册信息 **

注:这里新增test用户为例

**注:请结合自身项目情况选择方式分配。 **

2、添加用户权限

1)系统管理 -->> 全局安全配置 -->> 项目矩阵授权策略

2)勾选项目矩阵授权策略,配置只读权限

注:如果不分配read权限,登陆后会提示"Access Denied,没有Overall/Read权限",这里是全局的哦,开启后所有验证用户都具备read权限,点击保存后管理员用户自动添加

**3)配置项目权限 **

**注:一般而言,除了运维人员(管理员)具有所有项目操作的权限外,一般只给开发人员(通常是项目组的负责人)Beta环境下的项目操作权限。如下,只给test这个用户设置构建项目的权限。 **

1)进入相应的项目构建配置里,"启用项目安全",将相应的用户添加进去,赋予操作权限,说明他们对该项目由构建的权限。如下:

2)添加指定用户或组

**3)分配权限:Build和read **

注:只能构建操作,不能做其他操作

**4)登录test用户验证 **

# 登录成功后台,当前视图会显示所有有权限的项目