jenkins权限管理,使不同用户看到不同视图

最近在迁移jenkins,在恢复的过程中遇到了各种问题,比如编辑jenkins的用户权限使不同的用户看到指定的视图。这个问题看着很简单,但是实际操作却有很多坑,网上也找了很多文档,可能次问题比较低级,有用的博客很少。经过实践以后,在这里填下坑,希望可以帮到像我一样的小伙伴

1. 安装插件

要实现这个功能需要安装插件:Role-Based Strategy

Manage Jenkins > Manage Plugins > 可选插件 搜索到以后选中安装即可

我这里是已经安装好了,安装好以后重启jenkins,可以直接在浏览器xxxxxx:8080/restart

2. 设置权限

Manage Jenkins > Manage and Assign Roles 

打开以后会有三个选项:

Manage Roles    #可以理解为是用来编辑权限的

Assign Roles    #用来管理用户权限的,可以理解为把编辑好的权限给用户使用

Manage Roles

我使用的插件版本比较新,可能有些名称不太相同,这里面所说的全局用户权限其实说成是“组”,更好理解些

Global roles   #编辑全局用户权限

添加一个test组,给他分配Overall的Read权限、Job的Build、Workspace权限、SCM的Tag权限

注意:不能给Job的Read权限和View的Read权限,给的话用户就能看到所有项目和视图

Item roles    #编辑全局项目权限

添加个名为test的项目组,给他分配Job的Build、Read权限、SCM的Tag权限。需要注意的是这里的模糊匹配的时候不能写成*要写.*,这样的话这个test项目组就拥有了查看所有te开头的项目的权限

注意:这里强调下它所匹配的不是视图的名字,而是项目的名字,比如一个视图为test里面的项目是aaa、和一个视图为aaaa里面项目是test,登录拥有test项目权限的用户会看到aaaa视图,而不是test视图。

Node roles      #管理节点权限

这个是多节点所用到的权限,我目前还没用到

3. 分配权限

现在开始给用户分配权限,前提是你已经创建好了用户,这里就不写创建用户的过程了,不会的小伙伴可以去百度

Assign Roles

分配权限给指定用户

Global roles     #指定用户有那个用户组权限

给test用户分配test组的权限

Item roles    #指定用户有那个项目组权限

给test用户分配test项目组的权限,分配好以后点击保存即可

这个时候就配置完成了,登录test用户会看到te开头的所有项目所在的所有视图

结语

按照以上操作配置好以后,创建个test的项目组试试,把这个项目放到一个视图里面,登录test用户你会发现,你能看到拥有test项目的所有视图,但是看不到这个视图下其他的项目。

文章里分配的权限只是参考配置,在真正的分配权限时会根据需求分配其他权限,如有疑问欢迎小伙伴们留言

发布了40 篇原创文章 · 获赞 59 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_44208042/article/details/103802297