【问题标题】:Jenkins CLI exception: missing Job/ExtendedRead permissionJenkins CLI 异常:缺少 Job/ExtendedRead 权限
【发布时间】:2015-09-14 21:52:16
【问题描述】:

我有一个 Jenkins 用户,我想授予对 Jenkins 实例运行远程 CLI 的权限。第一个命令是获取 config.xml:

java -jar jenkins-cli.jar -s http://jenkins:8080/hudson get-job thejob

但是当他调用命令时,它失败了:

Caught: java.lang.RuntimeException: \
  hudson.security.AccessDeniedException2: \
  USER is missing the Job/ExtendedRead permission \
  at hudson.security.ACL.checkPermission(ACL.java:54) 

我已授权在我们基于矩阵的安全网格中执行脚本、读取/创建/配置作业等。网格中有另一个用户具有完全相同的权限,但是对于这个另一个用户,一切正常。

我没有安装任何插件“扩展读取权限”或“只读配置”。

我不明白为什么这个新用户会失败。有人建议吗?

2 个用户 config.xml 文件的差异:

<com.cloudbees.plugins.credentials.UserCredentialsProvider_-UserCredentialsProperty plugin="credentials@1.4">
    <credentials/>

对比:

<com.cloudbees.plugins.credentials.UserCredentialsProvider_-UserCredentialsProperty plugin="credentials@1.8.3">
    <domainCredentialsMap class="hudson.util.CopyOnWriteMap$Hash"/>

最后一个:

<hudson.security.HudsonPrivateSecurityRealm_-Details>
  <passwordHash>some values...</passwordHash>
</hudson.security.HudsonPrivateSecurityRealm_-Details>

【问题讨论】:

  • 您可以尝试检索两个用户的 xml 文件并进行比较。
  • 谢谢帕特里斯。我在问题中添加了差异。

标签: permissions jenkins command-line-interface


【解决方案1】:

我不知道您是否遇到与我相同的问题,但请看这里: Jenkins CLI: using Anonymous permissions instead of the user defined ones

【讨论】:

  • 明天试试
【解决方案2】:

您似乎升级了凭据插件,但不知何故第一个用户没有更新其记录。 如果可以,我建议您尝试更新到最新版本(对我来说是 1.9.1)。您也可以手动编辑用户记录并在其中强制插入真实的插件版本号(然后重新启动 Jenkins),看看它是否更准确地处理了这个用户。

【讨论】:

  • 实际上是拥有更高版本凭据插件的用户有所有问题:(
  • 您能告诉(通过转到管理 Jenkins > 管理插件 > 已安装选项卡)您当前安装的插件版本是什么?有更新吗?
  • 另外,您能否尝试将实际的凭证版本强制放入这些 xml 记录中,看看是否有帮助?
猜你喜欢
  • 2018-12-04
  • 2011-07-12
  • 2022-08-15
  • 2020-04-04
  • 2017-01-07
  • 1970-01-01
  • 1970-01-01
  • 2021-01-01
  • 2020-09-19
相关资源
最近更新 更多