我正在尝试从Jenkins用户数据库+基于矩阵的安全性到我们公司的Jenkins,再使用Google登录插件和基于角色的策略插件来更好地控制用户帐户。
通过这种新设置,我想知道如何创建一个指定用户,该用户将被远程触发Jenkins作业的脚本使用。我想这样做而不必将用户添加到我们公司的GSuite帐户中,因为这每月需要花费几美元。在切换到Google Login之前,我只能在Jenkins用户数据库中手动创建一个用户,然后从那里获取API令牌,但是由于切换到Google Login,所以没有添加用户的选项(这是合理的,因为这些用户由Google现在)。此刻似乎我必须选择:
是否有一种解决方法不需要为此指定GSuite用户或重新使用现有的Google用户凭据?
答案 0 :(得分:2)
我前段时间做了类似的研究,现在看来还没有办法。
但是,我将SAML plugin与GSuite结合使用,而不是与Google登录插件结合使用,但是从詹金斯的安全角度来看,我认为它们的工作方式相同。
使用此类插件时,詹金斯(Jenkins)在其配置中创建一个securityRealm
。以我为例:
<securityRealm class="org.jenkinsci.plugins.saml.SamlSecurityRealm" plugin="saml@1.0.7">
因此,要使SAML和Jenkins安全矩阵同时工作,您必须具有多个安全领域。
这里是ticket,它描述了此问题,但仍处于打开状态
致谢!
答案 1 :(得分:1)
我还在研究使用Google登录插件时如何远程触发构建。 我最终使用了“ Build Token Root Plugin”,它解决了这个问题,而无需为此创建专门的用户。
此插件提供了备用URI模式,不受通常的总体或作业读取权限的约束。只需发出Http GET或POST即可buildByToken / build?job = NAME&token = SECRET。无论安全设置如何,匿名用户都可以访问此URI,因此您只需要正确的令牌即可。
https://wiki.jenkins.io/display/JENKINS/Build+Token+Root+Plugin