【问题标题】:Jenkins: Limit Credentials to 'Manage Jenkins > Configure System'Jenkins:将凭据限制为“管理 Jenkins > 配置系统”
【发布时间】:2019-08-03 12:14:31
【问题描述】:

我们想在 Jenkins 中使用 GitHub Pull Request Builder 插件,但是要使用此插件,您需要在“管理 Jenkins > 配置系统”部分输入凭据,以便访问给定的 GitHub Enterprise 服务器。

我们的问题是授予对所有 github 访问权限的凭据太强而无法存储在凭据管理器中。我知道您可以通过使用文件夹插件来限制凭据的范围,但这只会限制对某些文件夹中作业的这些凭据的访问。有没有办法限制凭据,使其只能在“管理 Jenkins > 配置系统”部分中使用?

【问题讨论】:

  • 不,没有。 @bitoiu 给了你下一个最好的东西。您需要的是具有缩小范围的个人访问令牌。如果您只需要克隆和构建,我认为您不需要管理员权限。您可以研究的一件事是是否可以开发自己的插件来实现只能在全局配置中使用的凭证类型。

标签: jenkins github webhooks pull-request


【解决方案1】:

我们的问题是授予对所有 github 访问权限的凭据太强而无法存储在凭据管理器中。

这就是您也可以使用Personal Access Token 的原因。检查插件的文档:https://go.cloudbees.com/docs/plugins/pull-request-builder-for-github/。这不是官方插件页面,但已经阅读了这两个页面,这在凭据方面保持了最佳实践。重要的一点是:

  1. 转到您的 GitHub 设置页面。
  2. 在左侧边栏中,单击个人访问令牌。
  3. 点击生成新令牌。
  4. 给你的令牌一个描述性的名字
  5. 选择要授予此令牌的范围。拉取请求测试器插件需要管理存储库挂钩和访问存储库的权限:repopublic_repoadmin:repo_hookrepo:status

然后您可以按照指南的其余部分在插件配置页面中输入令牌。

希望这会有所帮助。

【讨论】:

  • 您好,感谢您的回复。不幸的是,我的问题不在于在密码管理器中保存密码。即使凭证是个人访问令牌的形式,任何人都可以使用它。因为拉取请求构建器需要访问我们 github 服务器上的所有存储库,所以我们需要能够限制谁可以使用该凭据以防止每个人都可以访问所有存储库。
  • 我们的问题是授予对所有 github 访问权限的凭据太强而无法存储在凭据管理器中。然后没有选择,因为 Jenkins 不支持应用程序或插件不适用于 GitHub 应用程序。我的回答直接指向您上面的评论。用户名/密码与 PAT 所赋予的权限完全不同。首先,范围缩小了,还有一些破坏性操作是您无法使用 PAT 执行的,只能通过 WebUI 执行,因此这是您的最佳选择。
  • 这实际上是被问到的下一个最好的事情——没有开发你自己类型的凭证插件并以某种方式限制它的使用位置。我不明白为什么它被否决了。一个答案不应该仅仅因为它不是你想要的答案而被否决,尤其是当你想要的答案不可行时。我投票赞成补偿。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-05
  • 2012-08-16
  • 2018-04-16
  • 2016-12-17
  • 2016-11-02
  • 1970-01-01
  • 2022-06-16
相关资源
最近更新 更多