jenkins~权限控制
  2xk0JyO908yA 2023年11月01日 84 0

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/

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  cuxaB9wF7MJS   2024年08月07日   35   0   0 代码与软件发布
  oFJsuGHhDkb9   2024年08月07日   37   0   0 代码与软件发布
  oFJsuGHhDkb9   2024年08月07日   64   0   0 代码与软件发布
  np65ry6OHvjk   2024年08月07日   64   0   0 代码与软件发布
2xk0JyO908yA