前言:本篇博客参考了
https://www.jianshu.com/p/f1d378596a67
Jenkins权限配置
安装插件Role-based Authorization Strategy

直接安装即可。
安装完成后进入系统管理中的全局安全配置

启动安全,并在授权策略选中Role-Based Strategy

然后返回系统管理可以看到多出来一个Manage and Assign Roles

进入后有三个标签:管理角色、角色分配、角色策略宏。本篇只着重管理角色、角色分配,角色策略宏不作详细叙述(因为我也不会。。。)。
管理角色
下面引用github上Role-based Authorization Strategy的官方说明
顺便附上github连接
github:role-strategy-plugin
Global roles:全局角色
全局角色应用于Jenkins中的任何项,并覆盖您在项目角色中指定的任何内容。也就是说,当您在全局角色中赋予角色读作业的权利时,那么这个角色就可以读所有的作业,不管您在项目角色中指定了什么。
Project roles:项目角色
基于项目,可以对某一或多个项目进行给定操作的角色
Slave roles:节点角色
节点相关的权限
关于Project roles和Slave roles再说一点:

上图中的Pattern需要填入的是一个正则表达式,用于匹配符合条件的项目。
官方对于这一栏的解释如下:
对于项目和代理角色,您可以为匹配的项目设置正则表达式模式。旨在匹配完整商品名称的正则表达式。
- 例如,如果将字段设置为
Roger-.*,则该角色将匹配名称以开头的所有作业Roger-。 - 模式区分大小写。要执行不区分大小写的匹配,请使用
(?i)表示法:upper,Roger-.*vs.lower,roger-.*vs(?i)roger-.*。不区分大小写的。 - 可以使用以下表达式匹配文件夹
^foo/bar.*
英语水平有限,全靠百度翻译,有翻译不正确的地方欢迎大家指出。。
举个栗子:如果我想有一个A角色来管理所有JAVA开头的项目,那么我就创建一个A角色,Pattern就填上JAVA.*
角色分配
顾名思义:对上一步中创建的角色分配到各个用户上,使不同的用户拥有相同或不同的权限。
进入管理角色

这里我创建了两个全局角色和两个项目角色
两个项目角色分别对应两种不同的项目匹配规则
demo:对于以demo开头的项目/任务
teestManager:对应以Text开头的项目/任务
关于全局角色
每一个用户都应该有一个全局角色
其中全局角色必须要勾选的权限

如果不勾选这个权限或者没有给用户添加全局角色,那么登陆之后就只能看到这个页面

第二个点(慎重):

如图:如果在全局角色中勾选了任务的Read权限,那么这个角色就可以看到所有的项目/任务,不论是否与其有关。其他的权限也是类似的。
所以,全局角色的权限要慎重。
之后我们把这些角色都分配到不同的角色上


注意:这里test用户我没有分配任何的项目角色,全局角色也没有分配到任务可视(任务下的Read权限)。
现在看看不同用户登录后有什么区别
admin用户

ops用户

demo用户

test用户

大功告成!
如果上面有什么错误或者缺少的信息。欢迎大家提出。
本文主要介绍了Jenkins中Role-based Authorization Strategy插件的安装与权限配置,包括全局角色、项目角色和节点角色的设定,以及如何进行角色分配,确保用户具有合适的访问权限。
1966

被折叠的 条评论
为什么被折叠?



