Jenkinsでワークスペースを参照せずに、匿名ユーザーのみがジョブリストを表示できるようにする


15

Jenkins CIを実行しています。一般的に私たちは提供したいと思います

  1. 特定のグループから認証されたユーザーへのフルアクセス
  2. 匿名ユーザーへの完全な読み取りアクセス
  3. 特定のプロジェクトへの匿名ユーザーのブロック(完全)

私たちは、使用のUNIXユーザー/グループデータベースおよびプロジェクトベースのマトリクス認証戦略を。ポイント(1)と(2)はうまく機能しますが、(3)を達成するのに苦労しています。

私たちは試しました:

  • グローバルセキュリティ匿名に対するすべての権利を削除し、その後でそれを付与するプロジェクトベースのセキュリティけど(でもメインジェンキンスページへの)すべての匿名の要求は、ログインページを生成することにした後、
  • グローバルセキュリティが権利次の手順で追加:ビュー読むには、ジョブ・発見は、ジョブ・リードは(仕事しませんでした)(仕事しませんでした)(仕事しませんでした)、Overal-読む-この最後のものは、しかし、動作するように見えました匿名ユーザーにあまりにも多くの権限が与えられ、特定のプロジェクトへのアクセスを制限することができませんでした。

tl; dr

匿名のために完全に非表示/ブロックされたいくつかのプロジェクトを含む、完全にオープンな(読み取り専用)Jenkins CIが必要です。

回答:


20

OK、だから私はそれをなんとかしてきた:

  • 役割ベースの承認戦略プラグインが必要です
  • グローバルセキュリティの設定でこの認証戦略を有効にします
  • 管理と割り当て役割は、 / ロールの管理新しい役割の作成匿名をし、認証済みの両方のためのグローバルおよびプロジェクトの役割
  • グローバル・ロールが付与匿名の右側だけにロール全体 / 読む(ログインページへのナビゲーションとリンクと非常に少なくともアクセス匿名ユーザーのメイン・ジェンキンス画面で、この意志を、ログインプロンプトではないすぐに)
  • 、プロジェクトの役割に追加匿名あなたがアクセスすると、この役割を追加した後、匿名ユーザーが右にそれを付与するプロジェクトマッチする正規表現パターンと役割を職業 / 読み取りおよびジョブ / Discoverを
  • [ロールの管理と割り当て] / [ロールの割り当て]に移動し、匿名ユーザーグループを匿名ロール(および認証済みユーザーを特定のグループ)に割り当てます。セーブ

関連する落とし穴は、ロール戦略ではユーザー名の照合で大文字と小文字が区別されることです。「ロールの割り当て」ページで大文字のユーザー名を入力しました。小文字のユーザー名でログインしましたが、ユーザー名が大文字で表示されていても、ユーザーに一致するロールはありませんでした。私の許可は、匿名ユーザーの許可に戻りました。大文字のユーザー名でログインすると、機能します。
s_t_e_v_e

この答えは機能しますが、「認証済み」ロールの目的または構成について説明しました。
ブラッドウッド

それは単なるショートカットです-「匿名」および「特権」にすることができます。これらの特定の非表示タスクを表示および編集できるユーザーのサブセットは、実際にアカウントを持っているユーザーと等しいため、「認証済み」を使用しました。
Wojtek


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.