Jenkins常用插件介绍之权限控制插件Role-based Authorization Strategy

简介: 除了搭建jenkins时默认安装的插件之外,有时候扩展功能,还需要安装一些其他的插件,下面为大家简单介绍一下Role-based Authorization Strategy插件。

除了搭建jenkins时默认安装的插件之外,有时候扩展功能,还需要安装一些其他的插件,下面为大家简单介绍一下Role-based Authorization Strategy插件。

背景:

    当我们需要对jenkins做访问权限控制的时候,而且公司项目比较多,角色比较多的时候,就需要对每个人可操作的权限做控制,避免配置被别人误删或者修改。而且权限的控制最好细化到每一个员工,不要每个项目/部门用公共账号,到时候出了问题都不知道谁整出来的。 而且有些特殊的情况,也是需要授权给每个项目的人员自己维护一些配置的。

插件安装:

   插件管理->可选插件->搜索Role-based Authorization Strategy ,勾选后点击直接安装即可


微信图片_20220113145315.png


安装完成后页面显示如下:


微信图片_20220113145319.png


配置:

   插件安装完成之后,是需要在全局安全配置中将授权策略切换为Role-Based Strategy,才可以通过创建角色的方式去控制权限


微信图片_20220113145321.png


更改授权策略后,在jenkins的配置选项中会多出来一个选项:

Manage and Assign Roles


微信图片_20220113145324.png


实操:

   下面小编演示一下怎么控制不同用户/角色的操作权限。

1、首先,在jenkins上创建出多个view(视图),可以以项目名称或部门名称命名,后续对应部门下的所有配置都可以在一个视图下显示。


微信图片_20220113145326.png



微信图片_20220113145329.png


现在新增2个job名称分别为 project_a_api 和 project_abc 的 job,检查一下view中的显示效果:(会按照对应view中配置的正则表达式进行过滤)


微信图片_20220113145331.png


2、在用户管理中新增几个用户用来测试权限分配


微信图片_20220113145335.png


3、主页->Manage Jenkins->Manage and Assign Roles


微信图片_20220113145337.png


先看一下角色管理:


微信图片_20220113145340.png


Global roles下不能给除管理员以外的其他角色授权read权限,否则用户能看到所有job,只是无法操作而已,这样就没办控制对应项目组的用户只能看自己项目的job,而且会出现一个用户展示很多job,体验不友好!

  • Global roles :除了admin角色外,其他角色都需要自己重新创建,这里可以创建开发,测试,qa等角色,然后分别给对应的角色授权 job的增删改等操作的权限。这里针对开发的话,暂时只分配job构建和取消构建的权限。这个是全局的角色权限,还可以针对不同的job再单独授权更细的权限 ,全局role的权限建议不要给太大
  • Item roles :为针对不同的job创建的角色


微信图片_20220113145343.png


角色的权限为 Global roles + Item roles 的并集


  • Node roles:针对节点相关的权限控制 ,这个一般用的少,小编暂时没去仔细研究。

 

  • 接下来分配角色



微信图片_20220113145345.png


user001 登录后的效果如下:只能看project_a 项目相关的view和job,并且job是没有删除权限


微信图片_20220113145348.png


user002 登录后的效果如下:只能看project_b 项目相关的view和job,并且job是有删除权限的。


微信图片_20220113145927.jpg


本次插件的分享就到这了,谢谢您的观看。


相关文章
|
1月前
|
jenkins Java 持续交付
Jenkins,持续交付的利器:揭秘插件生态系统(一)
Jenkins,持续交付的利器:揭秘插件生态系统
|
1月前
|
IDE jenkins Java
告别繁琐配置:Alibaba Cloud Toolkit插件打破Jenkins自动化部署的局限
告别繁琐配置:Alibaba Cloud Toolkit插件打破Jenkins自动化部署的局限
192 0
|
7月前
|
jenkins 持续交付 网络安全
Jenkins安装SSH插件
Jenkins安装SSH插件
102 0
|
jenkins Java Devops
【DevOps】Idea 集成 jenkins 插件
【DevOps】Idea 集成 jenkins 插件
1244 0
【DevOps】Idea 集成 jenkins 插件
|
2天前
|
XML jenkins Java
必知的技术知识:Jenkins插件开发
必知的技术知识:Jenkins插件开发
|
1月前
|
Kubernetes jenkins 测试技术
Jenkins,持续交付的利器:揭秘插件生态系统(二)
Jenkins,持续交付的利器:揭秘插件生态系统
|
7月前
|
Java jenkins 持续交付
Jenkins全局工具配置(JDK、Maven、Maven插件)
Jenkins全局工具配置(JDK、Maven、Maven插件)
297 0
|
1月前
|
jenkins 持续交付 开发工具
Jenkins 插件管理指南
常用插件 Docker Plugin: 这个插件让Jenkins能够与Docker容器平台进行集成。它允许在Jenkins构建过程中创建、管理和销毁Docker容器,为需要Docker化的项目提供了极大的便利性。对于需要在容器中构建或部署应用程序的项目,这个插件可以帮助简化流程,提高效率。 Git Plugin: Git插件是Jenkins中最基本和最常用的插件之一。它允许Jenkins与Git版本控制系统集成,通过拉取代码并触发构建来实现持续集成。对于几乎所有需要版本控制的项目,这个插件是不可或缺的,为构建和部署流程提供了必要的代码管理支持。 Email Extension Plugin:
84 2
|
8月前
|
jenkins Linux 网络安全
使用Jenkins通过SSH插件远程控制主机执行脚本
使用Jenkins通过SSH插件远程控制主机执行脚本
202 1
|
7月前
|
jenkins Java 持续交付
解决Jenkins使用Publish Over SSH插件上传失败的问题(可能原因之一)
解决Jenkins使用Publish Over SSH插件上传失败的问题(可能原因之一)
133 0