如何在 Jenkins 中创建用户并将其添加到组中以进行身份验证?
Posted
技术标签:
【中文标题】如何在 Jenkins 中创建用户并将其添加到组中以进行身份验证?【英文标题】:How to create and add users to a group in Jenkins for authentication? 【发布时间】:2012-08-05 01:22:02 【问题描述】:我选择使用“Jenkins 自己的用户数据库”安全领域进行用户登录,因为我无法在公司中使用 LDAP。当您决定将主机名或端口号更改为其他名称时,Google 的 OpenID 会出现问题。
并且我使用“基于项目的矩阵授权策略”架构来保证我的安全性。
但我似乎无法创建自己的组,并将用户添加到组以管理权限。
【问题讨论】:
我刚查了一下,也找不到内部用户的组支持。您的小组中有多少人。你不能单独添加权限吗?如果您需要群组支持,您可能需要使用 Jenkins 支持的替代身份验证机制之一。 我有大约 80 多个用户,并且至少有 30 多个项目,单独添加每个项目的矩阵总体上很痛苦。你们还有其他方法可以做到这一点吗?还是您建议我使用 OpenID 或其他安全领域进行身份验证?谢谢 【参考方案1】:According to this posting by the lead Jenkins developer, Kohsuke Kawaguchi, in 2009,内置 Jenkins 用户数据库没有群组支持。组支持仅在将 Jenkins 与 LDAP 或 Active Directory 集成时可用。这在 2012 年似乎是一样的。
但是,正如 Vadim 在他的回答中所写,由于Role strategy plug-in,您不需要对内置 Jenkins 用户数据库的组支持。
【讨论】:
【参考方案2】:您可以为此目的使用Role Strategy plugin。它就像一个魅力,只需设置一些角色并分配它们。甚至在特定项目的层面上。
【讨论】:
【参考方案3】:我在 Jenkins-3.5 下安装了角色插件,但它没有在“管理 Jenkins”下显示“管理角色”选项,当一个人从 wiki 访问安全安装页面时,所有用户都会立即被锁定。我不得不手动关闭服务器上的 Jenkins,恢复正确的配置设置(/me 很乐意做正确的备份)并重新启动 Jenkins。
我没有寄予厚望,因为该插件最后一次更新是在 2011 年
【讨论】:
詹金斯 3.5?现在最新版本是 1.509。 在角色设置正确之前,不建议切换身份验证方式。否则,即使在当前会话中,您的系统也会被锁定。 @Nikolay Ruban - 使用基于角色的策略授权来完成第一句话可能会很棘手,因为在您在配置全局安全页面。我相信,如果您首先设置基于矩阵的安全性并将总体管理权限分配给匿名(或您当前登录的用户),则将移植到基于初始角色的角色分配。这是我的回忆。 此外,如果您将自己锁定在 Jenkins 中,还有一种方法可以禁用安全性 - 只需 google “jenkins disable security”即可。我不得不自己这样做。 ;-) 您必须将安全策略更改为“基于角色的策略”,然后“管理角色”图标才会出现在“管理 Jenkins”下以上是关于如何在 Jenkins 中创建用户并将其添加到组中以进行身份验证?的主要内容,如果未能解决你的问题,请参考以下文章