jenkins - 如何限制 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 的文件夹身份验证插件。我最终坚持使用 Keycloak 进行身份验证,但使用文件夹身份验证插件进行授权。所以这允许我限制每个 Jenkins 文件夹的访问。每个文件夹都包含给定 github 组织的构建。
该插件非常易于使用。你可以在这里查看:
https://github.com/jenkinsci/folder-auth-plugin
文档在这里:
https://github.com/jenkinsci/folder-auth-plugin/blob/master/docs/usage.md
推荐阅读
- api - Flutter Chopper 401 更新和重试拦截器
- react-native - 如何在本机反应中显示带有接受和拒绝按钮的来电通知
- jquery - 将 Jquery 页面作为 web 组件附加到 shadow dom 中
- javascript - 如何重置 otp 字段的输入值?
- android - 避免在 Androids SharedPreferences 中使用默认值
- r - 将多个查询的结果组织到表中
- python - 使用两个非静态相机相对于固定点的 3D 对象位置估计
- elasticsearch - Elasticsearch 导入/导出“模式”对象
- javascript - puppeteer recaptcha invisible 不验证我的机器人
- android - 如何在flutter中使用回调(在发送通知之前调用)调度和发送周期性的flutter本地通知