Jenkins角色管理(Role Strategy)
Role Strategy插件介绍
使用Role Strategy插件来添加新的基于角色的机制来管理用户的权限。
安装Role Strategy插件
通过下面的页面路径访问并安装插件,我这里已经安装好了。
Manage jenkins-》Manage Plugins -》Aavilable
启动Role Strategy插件
我们在全局配置安全里面将权限访问Authorization模块下选择为Role-Based Strategy并加以保存。
在Manage Jenkins中多了一个Manage and Assign Roles模块,在该大模块下又分两个小模块Manage Roles与Assign Roles,先来看看Manage Roles模块。
Jenkins-》Manage Jenkins-》Configure Global Security
Manage Roles
在Manage Roles界面上有三个模块:Global roles、Item roles与Node roles。
Global roles
创建全局角色,例如管理员,作业创建者,匿名角色等,从而可以在全局基础上设置总体,代理,作业,运行,查看和SCM权限。
我们这里就添加一个只可以读的权限就可以了。
Item roles
创建项目角色,仅允许基于项目设置Job和Run权限。
在这里我们有两个项目cpp_test与java_test,我们分别用不同的项目权限对项目进行管理。
在添加Item roles的时候有如下规则:
-
如果将字段设置为cpp-.*,则该角色将匹配名称以开头的所有作业cpp-.
-
模式区分大小写。要执行不区分大小写的匹配,请使用(?i)表示法: (?i)cpp-.*这样不区分大小写的。
-
可以使用以下表达式匹配文件夹 ^foo/bar.*
在这里我们添加好管理以cpp开头的项目与以开头的项目,最后我们还可以点击蓝色匹配字段去检测能管理的项目是否存在。
创建相关用户
Jenkins-》Manage Jenkins-》Manage Users-》Create User
然后我们添加好测试两个测试用户aidasi与heminyang,并测试登录一下。
我们发现并没有相关权限,所以接着我们将用户与角色权限关联起来。
Assign Roles
将这些角色分配给用户和用户组。
我们先赋予基础读权限。
然后我们让cppUser用户管理以cpp开头的项目,让JavaUser管理以Java开头的项目。
测试用户