Role-based Authorization Strategy插件可以对构建的项目进行授权管理,让不同的用户管理不同的项目,将不同环境的权限进行区分。该插件可以很灵活的根据需求来进行权限的划分,使用基于角色的策略启用用户授权。角色可以全局定义,也可以为正则表达式选择的特定作业或节点定义。

环境介绍:
CentOS 7.4 64位
Jenkins 2.222.3

实现需求:
1、生产环境新建一个用户:张三,需要对生产环境的所有项目拥有只读、构建与取消执行的权限
2、开发环境新建一个用户:李四,需要对开发环境的所有项目拥有只读、构建与取消执行的权限
image-ad12ad45eb9e440fb18a8a9c3011a77f

jenkins项目命名规则如下:
生产环境:所有项目的名称均以-prod结尾,如:jobapp-prod、jobweb-prod
开发环境:所有项目的名称均以-dev结尾,如:jobapp-dev、jobweb-dev
image-ed76213f30ff437e906a0fe81679380d

1、安装插件

打开jenkins系统管理——>插件管理——>可选插件,输入插件名称Role-based Authorization Strategy进行搜索,然后勾选点击直接安装即可。
image-52b137e3baa64c69bfebad703ea81590

2、配置全局安全策略

点击系统管理——>Configure Global Security,在该页面中选择授权策略为:Role-Based Strategy,
image-ad308e1946f5414a915bd1c32f54bd93

保存之后,在系统管理中多出一个Manage and Assign Roles选项
image-d012df1a91ea49b4b807d23d5cbf4d63
image-2104555ef2a940a59e732c0aac865f15

3、配置Manage and Assign Roles策略

1)、配置Manage Roles

在Manage Roles中有三种角色,分别是:Global roles(全局角色)、Item roles(项目角色)、Node roles(节点角色),配置一个全局只读用户角色Users与两个项目角色job-prod与job-dev。
image-64aa93d088854df3b979c95dd0bb2692

其中项目角色分为:job-prod和job-dev

job-prod:匹配所有job.*-prod*的项目,并分配Build、Cancel与Read权限
job-dev:匹配所有job.*-dev的项目,并分配Build、Cancel与Read权限

2)、配置Assign Roles

接下来我们来将定义好的规则分配给指定的用户,前面我们提到了两个用户张三与李四,分别为:zhangsan、lisi。
image-85c78c6e591546ee939f5b83215c9243

4、验证

1)、使用张三(zhangsan)帐号登录jenkins

image-e6bc26abe2f54bfc8f9d34d3ae0feeef

2)、使用李四(lisi)帐号登录jenkins

image-70038722115249389c5d27764a66a451

至此,权限验证通过,jenkins权限控制插件Role-based Authorization Strategy安装配置已完成!!!

上一篇 下一篇