Jenkins限制了每个用户的作业视图


71

有没有一种方法可以限制用户仅查看詹金斯中的某些作业。

Jenkins允许通过“基于项目的矩阵授权策略”来限制每个项目的用户能力。问题在于,如果没有“总体”“读取”设置,用户将无法访问任何内容。这似乎使他们可以查看所有作业。

是否有另一个允许工作限制的插件?

Answers:


63

认为这就是您要搜索的内容:允许用户访问特定项目

没有屏幕截图的简短说明:
使用Jenkins“管理Jenkins” =>“配置系统”下的“基于项目的矩阵授权策略”。现在,在每个项目的配置页面上,您将具有“启用基于项目的安全性”。现在添加您要授权的每个用户。


1
看起来您仍然需要按照OP的建议打开“总体读取”设置。我已经尝试了所有方法,并且在不检查总体读取的情况下无法获得基于项目的安全设置。可能是我使用的是LDAP,但在全球范围内都可以正常工作。
quickshiftin

4
您必须检查“总体读取”,但是在要保护的项目上,只需确保选中“不继承全局权限”即可。这样,您不想看到项目的用户将不会看到它。
metaforge

2
“基于项目的矩阵授权策略”不在“ Manage Jenkins” =>“配置系统”下,而是在“ Manage Jenkins” =>“ Configure Global Security”下
Cowlinator

15

只有一个插件可以帮助我:基于角色的策略

wiki.jenkins-ci.org/display/JENKINS/Role+Strategy+Plugin

但是官方文档(wiki.jenkins-ci.org/display/JENKINS/Role+Strategy+Plugin)不足。

以下配置对我有用:

在詹金斯配置角色策略插件

基本上,您只需要创建角色并使用正则表达式将它们与工作名称匹配。


这是文档中的关键Step 9. Add Project Roles based on each project.
Vishnu Haridas

Learning Academy链接已断开。
凯尔·马丁


请删除指向kblearningacademy的URL,因为它不起作用,并重定向到恶意网站。我的公司防火墙阻止了它。
多米尼克

7

您可以使用基于项目的矩阵身份验证策略并启用“读取总体”权限,但是在系统级别禁用“读取作业”。之后,您应该为要使其对当前用户可见的每个特定项目启用“读取作业”。请参考此已解决的问题以获取更多信息。那里的一些信息:

我正在作业级别实现READ权限。完成此操作后,缺乏对特定作业的READ权限的用户将不会:在任何视图中查看该作业,能够直接访问该作业页面,查看对该作业的任何引用(例如,在上游或下游依赖项中)

另外,我建议您进一步检查“角色策略插件”。它可以简化用户/角色管理,您可以使用上述方法授予对某些作业的访问权限。


2

我使用几种插件的组合-对于角色和权限的基本分配,我使用“角色策略插件”

当我需要根据参数分配某些角色时(例如,每个有工作运行者的人都可以运行工作,但是只允许用户UUU用户运行部署作业以在计算机MMM上进行部署),我使用Python插件并定义了一个python脚本作为第一个构建步骤,并在禁止使用给定的参数组合运行作业时以sys.exit(-1)结尾。

Build User Vars插件为我提供了有关用户作为环境变量执行作业的信息。

例如:

import os
import sys

print os.environ["BUILD_USER"], "deploying to", os.environ["target_host"]

# only some users are allowed to deploy to servers "MMM"
mmm_users = ["UUU"]

if os.environ["target_host"] != "MMM" or os.environ["BUILD_USER"] in mmm_users:
    print "access granted"
else:
    print "access denied"
    sys.exit(-1)

2

如上文所述,Vadim Use Jenkins在“管理Jenkins” =>“配置系统”下使用了“基于项目的矩阵授权策略”。不要忘记在此处添加您的管理员用户并授予所有权限。现在,在此处添加受限用户并提供整体读取权限。然后转到每个项目的配置页面,您现在具有“启用基于项目的安全性”选项。现在添加您要授权的每个用户。


0

尝试转到“管理Jenkins”->“管理用户”,转到特定用户,编辑其配置“我的视图”部分的默认视图。


8
这只会对用户隐藏作业,不会阻止对其进行访问。
stwalkerster

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.