首先进入jekins的系统管理界面:
一、插件安装
如果没有安装权限管理的插件,需要安装一个插件,插件的名字叫Role-based Authorization Strategy
,进入插件管理中,选中这个插件,点击下面的安装就好了,左边是不重启直接安装,右边是现在下载,重启后安装。
安装好后,需要进行设置才能使用。进入全局安全配置,选择授权策略。
保存之后你会发现在系统管理的安全中会多出一个Manage and Assign Roles,这就是那个插件:
二、权限管理
1、管理角色
首先进行角色的创建,和角色项目权限的管理。这里的角色其实就是一个组的概念,之后在分配角色(Assign Roles)模块中将用户和这个组进行绑定就好了。
为了更好理解,这里的角色 ≠ 某一个用户,每一个用户都可以是它。就像是钢铁侠的战衣。穿上这个衣服你就可以成为钢铁侠。每个人都可以成为钢铁侠。
它分为两个部分,两个部分都需要配置:
Global roles: 全局角色,主要用于配置用户的功能权限;
Item roles: 项目角色,主要管理项目的权限。
注:两个创建的角色名称要统一,使用同一个名称,要不然全局有这个角色,项目里又没这个角色了,这样子最后到给用户授权的时候就会出现问题。
1.1 Global roles
根据自己的需求创建角色,选择相应的权限,我这里创建了dev_roles以及test_roles两个角色,并给他们了Read权限。
1.2 Item roles
根据需求选择相应的权限,我这里依然是创建了dev_roles以及test_roles两个角色,要与上述的Global roles中创建的角色对应起来,并且把jekins中的两个项目分别分配给了两个角色,这里的Pattern需要使用正则表达式将这个角色负责的项目全部囊括其中,并给他们任务的Read权限,最起码把read打开,这样用户才能够看到项目。
1.3 Agent roles(按需配置)
我这里没配,与上面的配置方法一致。
最后点击页面最下方的保存或者应用即可。
2、分配角色
之后给用户分配角色,也就是给用户分配钢铁侠战衣。
进入后在Global roles和Item roles里将相应的用户和项目选择上。
如果没有的话就进行添加,添加好后,就会在上表中出现这个用户。
注:添加的用户一定是已经在当前jekins系统中注册的,存在的用户。
2.1 Global roles
下图中的user_1
,user_2
就是系统中存在的用户,而user_3
则是不存在的。
user_1
与dev_roles
绑定,user_2
与test_roles
绑定。
下图是用户管理界面
2.2 Item roles
Item roles中也是相同的做法,添加用户,将用户与角色绑定
最后一样的,点击页面最下方的保存或者应用即可。
1.3 Agent roles(按需配置)
我这里没配,与上面的配置方法一致。
这样就完成了权限的管理。
user_1
拥有了dev_roles
的权限,可以查看test_1
项目。
user_2
拥有了test_roles
的权限,可以查看test_2
项目。
现在来检查下,原本两个账号是没有权限的:
在经历了上述的配置过程,我们再进行查看:
可以看到,user_1
和user_2
都有了相应的权限。