jenkins~权限控制

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/

posted @   张占岭  阅读(378)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
历史上的今天:
2017-06-07 PowerShell~执行策略的介绍
2017-06-07 PowerShell~语法与运算符
2017-06-07 PowerShell和Bash的介绍
2016-06-07 知方可补不足~SqlServer连接的复用MultipleActiveResultSets
2016-06-07 Linux~yum命令安装程序
2012-06-07 将不确定变为确定~表达式树是否可以有个集合,条件过滤有了新方向续(新增了OR和AND查询)
2012-06-07 将不确定变为确定~表达式树是否可以有个集合,条件过滤有了新方向
点击右上角即可分享
微信分享提示