3

Jenkins インスタンスに対してリモート CLI を実行する権限を付与したい Jenkins ユーザーがいます。最初のコマンドは、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>
4

2 に答える 2

0

認証情報プラグインをアップグレードしたようですが、どういうわけか最初のユーザーのレコードが更新されませんでした。可能であれば、最新 (私にとっては 1.9.1) に更新することをお勧めします。ユーザー レコードを手動で編集し、そこに実際のプラグイン バージョン番号を強制して (その後、Jenkins を再起動して)、このユーザーをより正確に処理するかどうかを確認することもできます。

于 2013-11-05T11:55:09.600 に答える