Jenkins使用 -- 使用者設定(角色許可權管理)
3. Jenkins使用 -- 使用者設定
建立使用者
主頁點選系統管理 -> 管理使用者,可見現在只有一個管理員使用者
點選右側新建使用者
new.png
輸入所需資訊
現在,我們有兩個使用者
退出admin賬號,登入user1賬號,確定沒有問題,再次退出,返回admin賬號
分配使用者角色
新建的使用者有和管理員一樣的許可權,不安全,我們需要限制其許可權。
我們使用角色來管理許可權。簡單來說就是管理員建立若干角色,比如開發者,測試者等,每個角色都有對應的一些許可權。我們還有若干使用者,比如使用者1,使用者2等,其中使用者1做開發,使用者2做測試。那麼如果我們設定使用者1
安裝所需外掛
進入系統管理 -> 外掛管理,點選可選外掛,然後在過濾中輸入role
選中出現的外掛,然後點選直接安裝
role.png
然後選擇安裝完成後重啟****Jenkins即可
restart.png
設定安全策略
點選系統管理-> Configure Global Security, 選中圖示的Role-Based Strategy,然後儲存設定。
退出admin
建立角色
為了給其他使用者賦予合適的工作許可權,我們需要首先建立角色。
重新登入admin
點選系統管理-> Configure Global Security-> Manage and Assign Roles,進入如下介面。
進入Manage Roles,我們看到三中角色分類,Global roles(全域性角色),Project roles(專案角色),Slave roles(奴隸角色)。專案角色與全域性角色的區別就是,專案角色只能管理專案,沒有管理jenkins的許可權配置。
- Global roles(全域性角色):管理員等高階使用者可以建立基於全域性的角色
- Project roles(專案角色): 針對某個或者某些專案的角色
- Slave roles(奴隸角色):節點相關的許可權
我們可以發現,admin角色擁有所有許可權。
新增一個全域性角色
下面輸入框中,新增一個全域性角色,比如叫做employee
然後為其設定Overrall(全域性的)Read和View的所有許可權,如下圖
新增一個專案角色
Role to add中,新增"developer",Pattern中,新增"Dev.*"
分配給此類專案job所有許可權
類似方法,可以新增一個名為"tester"的專案角色,Pattern設定為"Test.*",並且賦予所有許可權。
Pattern這個設定可能會有點迷惑。這裡填的是一個正則表示式,目的是匹配job全名(如果使用了Cloudbees Folders Plugin,那麼全名還包括為資料夾),具體可以參考官方文件。
全域性角色與專案角色
全域性角色設定覆蓋專案角色的任何設定。那麼,如果全域性設定某個角色可以job-read(如下圖設定),那麼不管專案角色怎麼設定的,這個角色都可以讀取任何專案。
基於此,推薦多數(甚至所有)全域性的Job,Run,SCM都不要鉤選。
分配角色
回到主頁,點選系統管理-> Configure Global Security-> Manage and Assign Roles,進入如下介面。
點選Assign Roles,首先,在Global roles部分,User/group to add中輸入我們剛才建立的使用者名稱user1,點選add新增,然後在出現的對應的全域性角色位置勾選employee。
類似的,在Project roles位置為user1賬號新增developer角色。
這樣,我們便添加了全域性和專案角色,而且分配了對應使用者。
slave role暫時沒有研究,以後用到了再補充
驗證新建的角色
首先,我們需要有對應的專案來驗證。回到主頁,點選新建
然後出現下圖介面,Enter an item name中輸入DevProject1,然後選擇構建一個自由風格的軟體專案,最後點選OK儲存。
現在可以自己試試登入我們的user1使用者,看看可不可以看到這個專案了。
有興趣的話,自己多建立幾個使用者和專案,體驗一下這些設定。
作者:quitus
連結:https://www.jianshu.com/p/f1d378596a67
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。