如何在Jenkins中创建和添加用户组以进行验证?

70

由于我公司无法使用LDAP,因此我选择使用“Jenkins自己的用户数据库”安全领域进行用户登录。此外,当你决定将主机名或端口号更改为其他内容时,谷歌的OpenID存在问题。

我使用“基于项目的矩阵授权策略”模式进行安全管理。

但我似乎无法创建自己的组,并将用户添加到该组以管理权限。


1
我刚刚检查了一下,也找不到内部用户组支持。你们的团队有多少人?难道不能逐个添加权限吗?如果你需要团队支持,可能需要使用 Jenkins 支持的替代身份验证机制之一。 - shonky linux user
我有大约80个用户,至少30个以上的项目,逐个添加矩阵总是很麻烦。你们有其他方法吗?或者你们建议我使用OpenID或其他安全领域进行身份验证?谢谢。 - samxiao
3个回答

76

根据Jenkins首席开发者Kohsuke Kawaguchi在2009年发布的帖子,内置的Jenkins用户数据库没有组支持。只有在将Jenkins与LDAP或Active Directory集成时才能使用组支持。这在2012年似乎是一样的。

然而,正如Vadim在他的答案中所写的那样,由于Role strategy插件的存在,你不需要内置的Jenkins用户数据库的组支持。


32
您可以使用基于角色的授权策略插件来实现这个目的。 它的使用非常简单,只需设置一些角色并分配即可。甚至可以在项目特定级别上操作。

5
我在Jenkins-3.5中安装了角色插件,但是在“管理Jenkins”下没有显示“管理角色”的选项。当我按照wiki上的安全安装页面时,所有用户都立即被锁定。我不得不手动关闭服务器上的Jenkins,恢复正确的配置设置(我很高兴进行适当的备份),然后重新启动Jenkins。
我并没有抱太大希望,因为该插件最后更新于2011年。

4
Jenkins 3.5?最新版本现在是1.509。 - Vadim Kotov
1
不建议在角色设置正确之前切换身份验证方式。否则,即使在当前会话中,您的系统也可能被锁定。 - Nikolay Ruban
1
@Nikolay Ruban - 使用基于角色的策略授权完成第一句话可能会很棘手,因为在设置配置全局安全页面上的授权策略之前,您无法访问屏幕以创建/分配角色。 我相信,如果您首先设置基于矩阵的安全性并将总体管理权限分配给匿名用户(或当前登录的用户),则该权限将传递到最初的基于角色的角色分配中。 那是我的回忆。 - tbradt
1
此外,如果您被锁定在Jenkins中,有一种方法可以禁用安全性 - 只需搜索“jenkins disable security”即可。我自己也不得不这样做。;-) - tbradt
1
在“管理Jenkins”下出现“管理角色”图标之前,您必须将安全策略更改为“基于角色的策略”。 - dpinya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接