7

曾经有一种匿名用户(例如脚本)的方法可以通过其 REST API 查询 Jenkins 的某些方面。例如,找出启动特定构建作业的用户的名称,或者它执行的日期。然而,安全模型在过去几年发生了变化,这似乎使这变得更加困难,即使对于只读访问也是如此。

我正在使用带有 ADS 身份验证的 Jenkins。我需要提供对脚本的 API 访问,但我不想使用特定用户的个人 API 令牌(在脚本中硬编码),因为该脚本可能由我组织中的任何人运行,包括作为其他自动化的一部分,而且我不想将此与特定员工联系起来。

相反,我需要一个基于工作的令牌 - 一个为工作设置的令牌。有一个构建令牌,但我认为这不适用于 REST API。

我考虑过创建一个特殊的“自动”用户,并为该用户创建一个令牌,但 Active Directory 配置似乎阻止我创建新的 Jenkins 用户。我无法创建新的 AD 用户,因为我根本没有能力在我的组织中这样做。

使用 API 令牌进行匿名访问的最佳方法是什么?此外,有没有办法确保令牌仅提供有限的访问权限 - 例如只读?理想情况下,这样的代币将仅限于一组特定的工作,而不是全球性的。

4

2 回答 2

2

那没有。功能请求是JENKINS-56465

于 2019-03-07T16:05:34.240 回答
1

请参阅https://stackoverflow.com/a/49938577/97831,了解如何在已启用身份验证的情况下将用户添加到 Jenkins 数据库。

从功能上讲,API 令牌与密码相同。如果您可以使用密码执行此操作,则可以使用 API 令牌执行此操作。如果您希望 API 令牌具有只读访问权限,则与其关联的用户应被限制为只读访问权限。

于 2018-09-24T01:09:02.777 回答