当前位置: 首页 >  技术宝典 >  jenkins~权限控制

jenkins~权限控制

导读:jenkins上管理的任务比较多,这时需要有一定的权限管控机制,我们选择了插件Role-based Authorization.Strategy来做这事,它支持按着项目前缀去控制你的任务,主要思想还是rbac的模式,通过角色绑定权限,通过用户来绑定角色。.安装之后.配置中心.通过

jenkins上管理的任务比较多,这时需要有一定的权限管控机制,我们选择了插件Role-based Authorization Strategy来做这事,它支持按着项目前缀去控制你的任务,主要思想还是rbac的模式,通过角色绑定权限,通过用户来绑定角色。

安装之后

配置中心

通过jenkins Dashboard > Manage and Assign Roles

图中第一项为添加角色,第二项为分配角色到用户

注意:我们默认有admin角色,我又扩展了一个read角色,这个角色的作用是让具体项目角色的人,看到自己的项目列表,这个read角色我们需要绑定到Anonymous用户上,这样我们项目角色里配置的角色就可以用了,否则会提示xxx is missing the Overall/Read permission的错误。

项目角色的奇葩设计

为什么说它奇葩,是因为它的统配符规则,如果你想匹配dev产品管理,那么你的统配符必须是dev产品.*,注意是.*结尾,多个配置资源之间使用|分开,如下图所示:

为用户指定角色

这个就比较容易了,与我们使用的大部分软件一下,从文本框中输入用户名,再勾选角色即可。

最后,使用指定的用户名登录,就会看到自己对应权限的任务列表了

正则规则添加后可预览

正则匹配规则

  • 如果将字段设置为cpp-.*,则该角色将匹配名称以开头的所有作业cpp-.
  • ^git.feature.,以git_开头,中间任意字符,feature_后面跟任意字符
  • “^upgrade(aa|bb).*”,(aa|bb)可以匹配aa或者bb
  • (dev.|test.),匹配dev.或者test.
  • 模式区分大小写。要执行不区分大小写的匹配,请使用(?i)表示法: (?i)cpp-.*这样不区分大小写的。
  • 可以使用以下表达式匹配文件夹 ^foo/bar.*
  • 控制文件夹下面的子文件夹,如lind/svt文件夹,可以这样(?i)lind($|/svt.*)

参考:https://plugins.jenkins.io/role-strategy/

内容
  • 绘画手残党的福音:涂鸦线稿秒变绝美图像
    绘画手残党的福音:涂鸦线稿秒变绝
    2023-12-08
    摘要: 涂鸦线稿秒变绝美图像,ControlNet-.Scribble2Img适配华为云ModelArts,提供更加便利
  • 线上服务器磁盘爆了,如何快速处理?
    线上服务器磁盘爆了,如何快速处理
    2023-12-08
    分享技术,用心生活.有一天突然收到预警短信,显示是服务器磁盘占用100% 心里一想这事大了,得赶紧处理啊!深一吸口气默念
  • 安全测试前置实践2-安全渗透测试
    安全测试前置实践2-安全渗透测试
    2023-12-04
    作者:京东物流 陈维.一、引言.本文我们将以围绕系统安全质量提升为目标,讲述在功能安全测试 &安全渗透测试上实践过程。.
  • 架构师日记-如何写的一手好代码
    架构师日记-如何写的一手好代码
    2023-12-06
    作者:京东零售 刘慧卿.一 前言.在日常工作中,我经常听到部分同学抱怨代码质量问题,潜台词是:“除了自己的代码,其他人写
  • 万字好文:大报文问题实战
    万字好文:大报文问题实战
    2023-12-02
    导读.大报文问题,在京东物流内较少出现,但每次出现往往是大事故,甚至导致上下游多个系统故障。大报文的背后,是不同商家业务
  • docker compose 快速安装 单机kafka版并且 持久化
    docker compose 快
    2023-12-05
    kafka 的业务场景不用多说了,耗时缓存队列,利用高吞吐以及队列模型实现 高并发情况下流量削峰,高流量的日志收集,都是