JENKINS针对不同项目组对用户进行权限分配

权限需求

因JENKINS上存有de(开发)、te(测试)、re(预发布)等三个不同环境的项目,同时因为项目需求,需要对不同的开发及测试人员配置不同的jenkins权限,即以项目为单位,对不同人员进行不同权限配置,要求如下:

1、项目都以healthcloud开头,分别以-de、-te、-re结尾,根据三类结尾可把项目分成开发、测试、预发布三类项目,同时分别对应不同的项目需求人员;

2、开发人员登录jenkins只能查看并构建de项目;

3、测试人员登录jenkins只能查看并构建te项目;

4、re账号提供给所有人,只具有查看所有项目的权限,便于技术人员排查问题。

说明:

1、此文创建test和re账号,对其进行权限分配并图文说明,其他需求可按部就班!

2、此文的截图中可能涵盖其它需求配置,此处请重视截图的红框标记即可,其他配置可忽略!

前提说明

要实现权限需求,需先确保jenkins的权限插件已安装,插件名:Role-Based Strategy或者Role-based Authorization Strategy

功能实现

# 用管理员账号登陆Jenkins;

# 系统管理à管理用户à新建用户à创建test和re用户;

# 系统管理à全局安全配置,选择授权策略;

# 系统管理àManage and Assign Roles,配置权限策略;

# 选择Manage Roles,分别进行Global roles、Project roles权限配置;

注:必须先进行Global roles的配置后方可对Project roles进行配置,可以理解为先配置整体性权限,再按项目分权限,遵守从大到小权限控制的原则!

# 配置Global roles的builder和reader权限;

# 配置Project roles,根据正则匹配对不同用户分配不同项目的不同权限(此处框内意义是角色te-all具有所有te结尾的项目的构建权限);

 # 配置Assign Roles;

 

# 配置re账号的全局可读权限和test账号的全局构建权限;

# 此时test具有全局的构建权限,现需针对项目对其划分仅有指定测试环境的项目构建权限,即缩小权限,添加约束;

功能验证

# 管理员账号(kazihuo)登录,显示所有项目的所有权限;

# test账号登录,只显示所有以te结尾的项目,同时具有构建权限;

# re账号登陆,只具有所有项目的查看权限(可看到项目右侧的构建按钮消失);

原文地址:https://www.cnblogs.com/kazihuo/p/9022899.html