Security

允許匿名使用者僅查看作業列表而不在 Jenkins 中瀏覽工作區

  • August 13, 2019

我們正在執行一個 Jenkins CI。一般來說,我們想提供

  1. 對來自特定組的經過身份驗證的使用者的完全訪問權限
  2. 匿名使用者的全讀權限
  3. 阻止匿名使用者訪問某些項目(完全)

我們使用Unix 使用者/組數據庫基於項目的矩陣授權策略。第 (1) 和 (2) 點效果很好,但我們很難實現 (3)。

我們嘗試過:

  • Global Security中刪除所有匿名權限,然後在基於項目的安全中授予它,但之後所有匿名請求(甚至到主 Jenkins 頁面)都會產生登錄頁面
  • Global Security中添加以下權限的步驟:View-Read(不起作用)、Job-Discover(不起作用)、Job-Read(不起作用)、Overal-Read - 但是最後一個似乎起作用它給了匿名使用者太多的權限,我們無法限制對特定項目的訪問。

tl;博士

我們想要完全開放(閱讀方式)的 Jenkins CI,其中一些項目完全隱藏/阻止匿名。

好的,所以我設法做到了:

  • 你需要基於角色的授權策略外掛
  • 在配置全域安全中啟用此身份驗證策略
  • 管理和分配角色/管理角色中為全域項目角色創建匿名身份驗證的新角色
  • 全域角色中,僅授予整體/讀取**匿名角色權限(這將至少訪問匿名使用者主 jenkins 螢幕,其中包含導航和登錄頁面連結,而不是立即登錄提示)
  • 項目角色中添加具有正則表達式模式的匿名角色,該模式將匹配您希望匿名使用者訪問的項目,並在添加此角色後授予它對Job / ReadJob / Discover的權限
  • 導航到管理和分配角色/分配角色並將匿名使用者組分配給匿名角色(並將經過身份驗證的使用者分配給特定組)。節省

引用自:https://serverfault.com/questions/480394