jenkins权限管理-Role-based Authorization Strategy插件使用

项目的需求:

开发人员、测试人员、运维人员的账号能够部署和配置的任务不一样。

 

Role-based Authorization Strategy的插件安装就不说了,参考https://blog.csdn.net/qq_24027457/article/details/80856630

 

这个插件是设置角色拥有哪些权限,然后给账号绑定角色。那么绑定了这个角色的账号就拥有了这个角色的权限。

具体步骤:

一、进入角色创建页面

导航:系统管理-->Manage and Assign Roles->Manage Roles   

一共有三种类型的角色,Global roles、Project roles、Slave roles(这名字有坑,后面给账号分配角色的时候就知道了)。我只用了前两种就实现需求了,第三种没去了解。

(1)首先,Global roles类型的角色是设置全局性的权限,就是对整个jenkins能够有哪些操作权限。(admin是系统自己创建的,有所有权限)

 

(2)然后再创建project roles角色,顾名思义,是项目角色,可以给该类型的角色设置能够操作的项目及其相应的操作权限。

这里我创建了两个角色,分别是能够操作匹配prod.*部署任务的角色prod-roles,和能够操作匹配test.*部署任务的角色test-roles角色。

 

角色创建完毕,后面就要给相应的账号分配角色了,一旦某个账号分配了某个角色(可以分配多个角色,不限制赋予账号的角色数量),那这个账号就拥有了该角色的相应权限。。

 

二、给账号分配角色

1、首先,创建几个账号:

导航:系统管理->管理用户

点击创建账号即可创建。

我创建了两个账号(admin忽略),分别是:prod、test。

 

2、给账号分配权限

导航:系统管理-->Manage and Assign Roles-> Assign Roles

进入页面后可知道:一共可以分配三种权限,分别是:Global roles、Item roles、Node roles。

前面第一步的说有坑,就是这里了。。创建角色的时候有角色类型有三种:Global roles、Project roles、Slave roles,然后这里分配的时候,除了第一个Global roles名字一样,后面的都不一样。但他们又是一一对应的关系。

听我细细说来...

分配角色步骤:

首先要注意当前是在Assign Roles页面,

(1)在Global roles位置分配Global roles类型的角色。我们之前在第一步的(1)小步中创建了一个readAll的角色(就分配了read权限)

然后给prod和test账号都赋予readAll角色,让这两个账号都拥有全局读取的权限。

下面图片中的是给test账号赋予readAll角色的步骤,然后一样的给prod账号也赋予readAll角色就行了。

这一步完毕,此时test和prod账号对于jenkins的东西拥有全部读取的权限。

接下来要限制这两个账号各自能够操作的项目以及赋予相应的权限

(2)给test和prod账号分别赋予test-role和prod-role角色,

此时test账号只能操作能匹配正则表达式test.*的项目,prod账号只能操作匹配正则表达式prod.*的项目。。

步骤与第(1)步中的差不多,不详细说了。要注意的就是分配project roles类型角色的位置是在Item roles这里(我就不明白为什么不也命名为project roles,反正我之前搞错了)

 

 

3、权限分配完后使用:

如果你原本就有一些job,那么你就把这些job重命名一下,生产环境的job就在原有的名字前加prod,测试环境的就在前面加test。(project roles类型角色的正则表达式匹配那边需要以此来匹配,理解吧?)

(1)用管理员账号登录,有所有权限,可以看到所有项目。

 

 

(2)用test账号登录,只能看到以test开头的项目,所以登录后是:

(3)用prod账号登录,只能看到以prod开头的项目,所以登录后是:

 

 

如果你们项目是每个人都有一个账号,那么可以根据分工分别赋予他们不同的角色(给予不同权限),赋予角色的步骤在前面。。

 

 

 

纯手写,谢谢

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值