权限需求
因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账号登陆,只具有所有项目的查看权限(可看到项目右侧的构建按钮消失);