提问人:Alex 提问时间:11/14/2023 更新时间:11/16/2023 访问量:22
如何读取允许用户在 Jenkins 中作为下游作业运行的管道
How to read which pipelines a user is allowed to run as downstream jobs in Jenkins
问:
我想在我的 groovy 脚本中添加一项功能,允许用户在他们选择的作业完成后按顺序运行其他作业,如果他们在配置中为此目的创建的文本字段中输入作业的名称
据我所知,管道以 SYSTEM 用户的身份默认运行,因此对可以运行的管道没有限制。在我的情况下,用户只能访问其预定的文件夹来运行他的作业,但即使他无权访问该文件夹,也可以在配置中手动添加另一个文件夹中的作业以按顺序运行。这是我想避免的
我知道RBAC插件,但我认为这还不够,因为它只对限制对文件夹的访问有用。如果我错了,请纠正我
https://docs.cloudbees.com/docs/cloudbees-ci/latest/cloud-secure-guide/rbac
我想知道是否有一种方法可以在配置中显示一个下拉菜单,而不是静态内容,而是允许用户根据其文件夹访问权限运行的管道。如果没有,我想至少收集用户有权运行的作业数量,以便在用户在文本字段中输入了他无权访问的管道时在 groovy 脚本中阻止它们。
答:
0赞
hakamairi
11/16/2023
#1
基于角色的授权策略插件可以做到这一点: https://plugins.jenkins.io/role-strategy/
您只需在“管理 Jenkins”->“安全性”-“>身份验证”-“>授权”配置部分中选择“基于角色的策略”。
然后在“管理 Jenkins”->“管理和分配角色”-“管理角色”>“管理角色”中定义“项角色” 创建的 Item 角色需要一个模式,创建后它将显示匹配的作业。 权限是这样的,您甚至可以对某些用户隐藏作业。
不要忘记将角色分配给您的用户。
评论