如何读取允许用户在 Jenkins 中作为下游作业运行哪些管道

问题描述 投票:0回答:1

我想在我的groovy脚本中添加一个功能,允许用户在他们选择的作业完成后,如果他们在配置中为此目的创建的文本字段中输入作业名称,则可以顺序运行其他作业

据我所知,管道默认以 SYSTEM 用户身份运行,因此对可以运行的管道没有限制。在我的情况下,用户只能访问其预定的文件夹来运行他的作业,但可以在配置中手动添加另一个文件夹中的作业以按顺序运行,即使他无权访问此类文件夹。这就是我想避免的事情

我知道 RBAC 插件,但我认为它还不够,因为它仅用于限制对文件夹的访问。如果我错了请纠正我

https://docs.cloudbees.com/docs/cloudbees-ci/latest/cloud-secure-guide/rbac

我想知道是否有一种方法可以在配置中显示下拉菜单,该菜单不包含静态内容,而是允许用户根据其文件夹访问权限运行管道。如果没有,我想至少收集用户有权运行的作业数量,以便在用户在文本字段中输入他没有访问权限的管道时在 groovy 脚本中阻止它们。

jenkins groovy jenkins-pipeline jenkins-plugins jenkins-groovy
1个回答
0
投票

基于角色的授权策略插件可以做到这一点:https://plugins.jenkins.io/role-strategy/

您只需在管理 Jenkins -> 安全 -> 身份验证 -> 授权配置部分中选择“基于角色的策略”即可。

然后在管理 Jenkins -> 管理和分配角色 -> 管理角色中定义项目角色 创建的项目角色需要一个模式,创建后会显示匹配的作业。 该权限甚至可以对某些用户隐藏作业。

不要忘记将角色分配给您的用户。

© www.soinside.com 2019 - 2024. All rights reserved.