1. 程式人生 > >【Jenkins教程四】基於Role-based Authorization Strategy的使用者許可權管理

【Jenkins教程四】基於Role-based Authorization Strategy的使用者許可權管理

前言

  • 通常在日常工作中,Jenkins管理的不只僅僅一個專案。那如何將所有專案分離開許可權,使每個使用者訪問的許可權只侷限於當前專案,下面我們就來用【Role-based Authorization Strategy】這個外掛進行角色管理。

安裝外掛

Role-based Authorization Strategy

使用教程

  • 點選【系統管理】-【全域性安全配置】-【授權策略】
  • 勾選【Role-Based Strategy】
    這裡寫圖片描述
  • 返回【系統管理】點選【Manage and Assign Roles】
    這裡寫圖片描述
  • 選擇【 Manage Roles】
  • 在【Global roles】建立一個新的全域性角色,該角色不開放系統許可權,只讀.
    這裡寫圖片描述
  • 在【Project roles】建立兩個專案角色,test-developer僅用來執行部署,test-manager用來管理專案
    這裡寫圖片描述
  • 建立使用者【系統管理】-【管理使用者】-【新建使用者】-新建【test】和【test-manger】
  • 分配角色許可權【系統管理】-【Manage and Assign Roles】-【Assign Roles】
  • 全域性角色許可權分配如下
    這裡寫圖片描述
  • 專案角色許可權分配如下
    這裡寫圖片描述
  • 登陸【test】訪問頁面如下
    這裡寫圖片描述
  • 登陸【test-manager】訪問頁面如下
    這裡寫圖片描述

注意點

  • 專案角色和全域性角色區別在於專案角色只能管理專案,沒有管理jenkins的許可權配置。
  • 新增專案角色時,Pattern支援正則表示式,如【test-.】表示所有以test-開頭的專案。【(?i)test-.
    】表示支援所有以test開頭且不區分大小寫。
  • 如果發生使用者許可權問題而不登陸,有以下兩種解決方法
刪除使用者相關的目錄
修改$Jenkins_home/config.xml檔案:<useSecurity>false</useSecurity>
刪除authorizationStrategy、securityRealm節點
重新啟動Jenkins
修改$Jenkins_home/config.xml檔案,修改授權方式為系統自帶的安全矩陣方式
authorizationStrategy節點class屬性修改為hudson.security.GlobalMatrixAuthorizationStrategy
重新啟動Jenkins

後言

  • 如果有些地方寫的不夠詳細,麻煩指明。這些系列教程會經常更新的,