一、安裝插件
插件名稱:Role-based Authorization Strategy
Role Strategy Plugin插件可以對構建的項目進行授權管理,讓不同的用戶管理不同的項目。
二、安全配置——授權策略配置
系統管理—>全局安全配置(Configure Global Security ),其中共有五種授權策略
1. Role-Based Strategy
1.1. 選擇授權策略中的Role-Based Strategy,並點擊保存
1.2. 選擇系統管理—>Manage and Assign Roles (管理和分配角色)
在新開的頁面中有如下3個菜單:
- Manage Roles
- Assign Roles
- Role Strategy Macros
1.3. 選擇"Manage Roles"進行角色配置。
【Global roles】全局角色配置:
添加wts這個角色並進行授權
【Project roles】項目角色配置:
添加了三個項目角色:uat,dev和test。dev用於管理開發環境的項目,test用於管理測試環境的項目。
Pattern:對構建的項目名稱進行匹配,可以使用正則表達式。
【Slave roles】從屬角色配置:
- 1.4.選擇Assign Roles,分配角色
在全局角色中添加普通用戶,並將普通用戶加入到全局角色wts中,保證它們可以正常登錄jenkins。
在項目角色中添加普通用戶,並根據實際需求勾選項目角色,這樣不同的用戶可以對不同項目有管理權限。
2. 任何用戶可以做任何事(沒有任何限制)
項目內不推薦用
3. 登錄用戶可以做任何事
可勾選項---Allow anonymous read access(允許匿名讀取訪問)
4. 遺留模式
適用於Jenkins1.164以前的版本.也就是說,如果你是"admin"角色,那么你將擁有Jenkins的一切控制權,其它角色(包括匿名用戶) 只有查看權限.
5. 安全矩陣
選擇安全矩陣 (在配置頁面將鼠標放到對應權限上即可查看幫助):
其中有一些比較特別的權限:
Overall 的Administer 【最大權限】,擁有該權限可以干任何事情。
Overall的Read【最基本的權限】,用戶必須賦予閱讀的權限,不然什么都看不到。
注:
每個用戶后都有2個圖標,第一個是全選功能,第二個是清空功能
6. 項目矩陣授權策略
說明:安全矩陣和項目矩陣授權策略的配置是一樣的,唯一的區別是項目矩陣授權策略支持在Job的配置頁面再次配置授權策略。
三、踩到的坑
問題描述
首次配置jenkins的安全策略時,選擇安全矩陣,但是沒有給任何用戶付權限,點擊保存后。管理員登錄失效。重新登錄系統提示admin沒有Overall/Read權限的異常。

解決方案:修改jenkins的config.xml配置文件。
3.1. 通過查看jenkins進程查看JENKINS_HOME的目錄
ps -ef | grep jenkins
3.2. 編輯jenkins的config.xml這個配置
命令:vi /var/lib/jenkins/config.xml
配置文件如圖:
需要修改的是紅線圈起來的部分。
在該標簽內加入以下配置即可。
<permission>hudson.model.Hudson.Administer:anonymous</permission> <permission>hudson.model.Hudson.ConfigureUpdateCenter:anonymous</permission> <permission>hudson.model.Hudson.Read:anonymous</permission> <permission>hudson.model.Hudson.RunScripts:anonymous</permission> <permission>hudson.model.Hudson.UploadPlugins:anonymous</permission>
修改后的配置文件,如下圖:

3.3 重啟jenkins服務即可。
