如何阻止用户中止Pipeline Input Step?权限配置问题求助
解决Pipeline Input Step的两个权限问题
一、阻止用户中止Input Step
核心是通过权限控制移除用户中止运行中Pipeline的权限:
- 在Jenkins全局安全配置的权限矩阵里,找到对应用户/用户组,取消其「中止运行中的构建」(权限标识:
hudson.model.Run.Cancel)的权限。这样用户即使看到Input步骤界面,也没有权限点击中止按钮,自然无法中止Input Step。 - 若需保留部分用户的中止权限,仅针对普通build权限用户取消该权限即可。
二、限制仅特定权限用户操作Input Step
默认build权限用户能操作Input Step,是因为该权限包含了触发和交互的基础权限,收紧控制可以这么做:
- 使用Input步骤的
authorize参数:在Pipeline脚本的input步骤中,明确指定允许操作的用户、用户组或角色。示例代码:
input( message: '请确认是否继续执行后续步骤', ok: '确认执行', authorize: 'admin-users' // 替换为你的目标用户组ID )
如果用了RBAC插件,还可以指定角色:
input( message: '请审批通过', authorize: 'role:pipeline-approver' // 替换为你的自定义角色名 )
- 配合全局权限配置:确保拥有build权限的用户组,未被包含在上述授权的用户/角色里;同时在权限矩阵中,不给build权限用户分配「审批Pipeline输入」相关权限(对应权限:
hudson.model.InputStep.Proceed)。
内容的提问来源于stack exchange,提问作者Uchiha Hahaha
相关产品推荐
相关产品推荐

