插件简介
插件名称
Role-based Authorization Strategy
插件介绍
Role Strategy Plugin插件可以对构建的项目进行授权管理,让不同的用户管理不同的项目,将不同环境的权限进行区分。该插件可以很灵活的根据需求来进行划分权限,包括正则匹配等
实现需求
测试工程师需要一个通用用户,需要对测试环境的所有项目拥有只读的权限,并且可以构建
系统用户
deploy_test:test环境所需用户
jenkins 项目命名规则介绍
测试环境:dubbo
、.*plat
、wbsapiv
安装插件
打开jenkins系统管理,单击管理插件,找到可选插件,输入插件名称,然后点击直接安装即可
如果你已经安装过该插件,则在已安装一栏中可以看到该插件
配置全局安全策略
点击系统管理,点击Configure Global Security
在该页面中选择授权策略为:Role-Based Strategy
配置Manage and Assign Roles策略
点击系统管理,点击Manage and Assign Roles,如下图:
配置Manage Roles
在Manage Roles中有两种角色:Global roles用来分配全局策略,而 Project roles根据项目环境来分配项目权限
配置Global roles
admin:超级管理员,它拥有所有的全局权限
test:test环境的用户,它只可以看到全局的Overall面板
添加test的Overall的read权限原因:如果不添加的话,这些普通用户登录到jenkins则会提示:用户没有Overall/read权限(用户无法登陆)
reader:它只可以看到相关读权限的面板
配置 Project roles
java.*:匹配所有以java开头的项目,并分配view、read、build及workspace等权限。
注意使用通配符‘’时,需要在''前添加'.',否则无法保存并会报错。例如:.*plat
ps:不区分大小写(?i)roger-.*
配置Assign Roles
下面我们来将定义好的规则分配给具体的用户: java
配置Global roles
现在将用户和roles关联起来,这样java用户就 拥有了读权限
配置Item roles
之前我们在Project roles中定义了一个规则,分别对应java.*的项目及权限,在这里我们将用户和project roles关联起来,这样对应的用户就拥有了对应项目roles的权限。
验证配置是否正确
java用户登录
1.面板权限(面板、师徒都能显示)
2.项目角色权限验证(项目非java开头)
3.项目角色权限验证(项目以java开头)