首页 > 解决方案 > 如何限制 Jenkins 访问特定的 github 组织?

问题描述

我们在我们的组织中设置了 Jenkins,其中包含两个组织文件夹,它们基本上为来自两个不同 github 组织的 repo 构建。

我们使用 Keycloak 向 Jenkins 进行身份验证。(不确定这是否相关)并且我们使用 openid 与 Keycloak 连接进行身份验证。

我想知道是否可以限制特定用户组的访问权限,使其只能查看其中一个 github 组织上的构建。例如,如果我们有两个 github 组织:mrrobot_org 和 evilcorp_org,那么我希望能够创建一个 evilcorp_org_devs_group 并将用户添加到该组,然后限制这些开发人员只能访问 evilcorp_org github 组织的构建。

有人告诉我这可能可以从 Keycloak 做到,但似乎不太可能。

我已经尝试了很多东西,但从我读过的最好的选择似乎使用这个插件 https://plugins.jenkins.io/role-strategy/
并使用正则表达式匹配组织来匹配文件夹: “可以使用以下表达式匹配文件夹

^foo/bar.*".

任何其他建议我怎么能做到这一点?

非常感谢。

标签: jenkins

解决方案


对于任何阅读本文的人。我最终使用了 Jenkins 的文件夹身份验证插件。我最终坚持使用 Keycloak 进行身份验证,但使用文件夹身份验证插件进行授权。所以这允许我限制每个 Jenkins 文件夹的访问。每个文件夹都包含给定 github 组织的构建。

该插件非常易于使用。你可以在这里查看:

https://github.com/jenkinsci/folder-auth-plugin

文档在这里:

https://github.com/jenkinsci/folder-auth-plugin/blob/master/docs/usage.md


推荐阅读