前言
- 通常在日常工作中,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
後言
- 如果有些地方寫的不夠詳細,麻煩指明。這些系列教程會經常更新的,