Jenkins自动化CI CD流水线之2--用户权限管理

一、 背景

针对开发、运维、测试针对不同角色进行不同权限划分,

基于插件: Role-based Authorization Strategy来实现。

一、 安装

安装该插件:

系统管理->管理插件-可选插件->搜索该插件选中直接安装即可。

 

二、 开启该插件功能

系统管理->全局安全设置-授权策略->选中该插件功能即可->保存

 

三、 实践

我们可以先将该功能关闭来进行实践测试。

1、策略改回原来的(全局安全配置)

2、开启允许用户注册(全局安全配置)

3、注册一个新用户

登录之后,其默认就是管理员用户,可以进行任何操作,如图下所示:

4、开启Role-Based Strategy

5、重新登录新创建test1用户,显示已经没有任何权限了。

四、 权限划分

我们在安装Role-Based Strategy插件后,系统管理中多了如图下所示的一个功能,用户权限的划分就是靠他来做的。

4.1 Manage Roles(管理角色)

Manage Roles:管理角色,相当于针对角色赋予不同权限,然后在将该角色分配给用户。角色就相当于一个组。其里面又有Global roles(全局)、Project roles(项目)、Slave roles(),来进行不同划分。

默认如图下所示:

 

Global roles:

默认是有一个admin用户的,是所有权限都有的,所有权限都是勾选了的。

接下来我们来添加一个角色:user

我们给其一个读的权限。

 

Project roles:

roles to add:表示项目角色

Pattern:是用来做正则匹配的(匹配的内容是Job(项目名)),比如说根据正则匹配到的项目项目角色就都有权限;

接下来我们新建一个ItemA项目角色,改项目角色一般我们给其构建、取消、读取、读取空间权限,一般配置这4个即可

还可以在新建一个ItemB项目角色:

4.2 Assigin roles(分配角色)

1.我们给予test1用户分配user角色,这样其就有manage roles中我们刚才创建的user角色的权限了。

此时我们再去看test1用户,已有查看的权限了,如图下所示

2、针对指定用户分配项目角色(一般最常用的就是针对不同用户进行项目角色分配)

比如将test1用户分配有ItemA项目角色,这样其就可以有刚才我们创建的ItemA项目角色正则匹配到的项目的权限了。

test2也为其分配一个ItemB项目角色

此时我们可以在test1用户这里看到ItemA项目角色所匹配到的项目A-web1

我们也可以在新建一个B-web1项目

同理test2用户这里看到ItemB项目角色所匹配到的项目B-web1

为了方便项目管理,我们可以对不同项目进行分类(借助视图):

分类完如图下所示:

posted @ 2018-09-05 17:39  Ambition-LC  阅读(824)  评论(0编辑  收藏  举报