Security
允許匿名使用者僅查看作業列表而不在 Jenkins 中瀏覽工作區
我們正在執行一個 Jenkins CI。一般來說,我們想提供
- 對來自特定組的經過身份驗證的使用者的完全訪問權限
- 匿名使用者的全讀權限
- 阻止匿名使用者訪問某些項目(完全)
我們使用Unix 使用者/組數據庫和基於項目的矩陣授權策略。第 (1) 和 (2) 點效果很好,但我們很難實現 (3)。
我們嘗試過:
- 在Global Security中刪除所有匿名權限,然後在基於項目的安全中授予它,但之後所有匿名請求(甚至到主 Jenkins 頁面)都會產生登錄頁面
- 在Global Security中添加以下權限的步驟:View-Read(不起作用)、Job-Discover(不起作用)、Job-Read(不起作用)、Overal-Read - 但是最後一個似乎起作用它給了匿名使用者太多的權限,我們無法限制對特定項目的訪問。
tl;博士
我們想要完全開放(閱讀方式)的 Jenkins CI,其中一些項目完全隱藏/阻止匿名。
好的,所以我設法做到了:
- 你需要基於角色的授權策略外掛
- 在配置全域安全中啟用此身份驗證策略
- 在管理和分配角色/管理角色中為全域和項目角色創建匿名和身份驗證的新角色
- 在全域角色中,僅授予整體/讀取**匿名角色權限(這將至少訪問匿名使用者主 jenkins 螢幕,其中包含導航和登錄頁面連結,而不是立即登錄提示)
- 在項目角色中添加具有正則表達式模式的匿名角色,該模式將匹配您希望匿名使用者訪問的項目,並在添加此角色後授予它對Job / Read和Job / Discover的權限
- 導航到管理和分配角色/分配角色並將匿名使用者組分配給匿名角色(並將經過身份驗證的使用者分配給特定組)。節省