1. 程式人生 > >Jenkins使用 -- 使用者設定(角色許可權管理)

Jenkins使用 -- 使用者設定(角色許可權管理)

3. Jenkins使用 -- 使用者設定

建立使用者

主頁點選系統管理 -> 管理使用者,可見現在只有一個管理員使用者

點選右側新建使用者

new.png

輸入所需資訊

現在,我們有兩個使用者

退出admin賬號,登入user1賬號,確定沒有問題,再次退出,返回admin賬號

分配使用者角色

新建的使用者有和管理員一樣的許可權,不安全,我們需要限制其許可權。
我們使用角色來管理許可權。簡單來說就是管理員建立若干角色,比如開發者測試者等,每個角色都有對應的一些許可權。我們還有若干使用者,比如使用者1使用者2等,其中使用者1做開發,使用者2做測試。那麼如果我們設定使用者1

的角色是開發者使用者2的角色是測試者,就可以很快給各個使用者分開好許可權。下次再有更多使用者,我們只要給他們設定相應的角色即可,而不用對每個使用者單獨設定,這樣便可以簡化我們的工作。

安裝所需外掛

進入系統管理 -> 外掛管理,點選可選外掛,然後在過濾中輸入role
選中出現的外掛,然後點選直接安裝

role.png

然後選擇安裝完成後重啟****Jenkins即可

restart.png

設定安全策略

點選系統管理-> Configure Global Security, 選中圖示的Role-Based Strategy,然後儲存設定。

退出admin

賬號,登入user1賬號,發現出現下圖錯誤,說明配置生效。這個錯誤說明未經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(全域性的)ReadView的所有許可權,如下圖

新增一個專案角色

Role to add中,新增"developer",Pattern中,新增"Dev.*"

分配給此類專案job所有許可權

類似方法,可以新增一個名為"tester"的專案角色Pattern設定為"Test.*",並且賦予所有許可權。

Pattern這個設定可能會有點迷惑。這裡填的是一個正則表示式,目的是匹配job全名(如果使用了Cloudbees Folders Plugin,那麼全名還包括為資料夾),具體可以參考官方文件

全域性角色與專案角色

全域性角色設定覆蓋專案角色的任何設定。那麼,如果全域性設定某個角色可以job-read(如下圖設定),那麼不管專案角色怎麼設定的,這個角色都可以讀取任何專案。

基於此,推薦多數(甚至所有)全域性的JobRunSCM都不要鉤選。

分配角色

回到主頁,點選系統管理-> 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
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯絡作者獲得授權並註明出處。