Jenkins系列之-—03 配置用戶和權限控制

1、安裝插件

插件名稱:Role-based Authorization Strategy正則表達式

Role Strategy Plugin插件能夠對構建的項目進行受權管理,讓不一樣的用戶管理不一樣的項目。安全

 

2、安全配置——受權策略配置

系統管理—>全局安全配置(Configure Global Security ),其中共有五種受權策略ruby

1. Role-Based Strategy

1.1. 選擇受權策略中的Role-Based Strategy,並點擊保存測試

1.2. 選擇系統管理—>Manage and Assign Roles (管理和分配角色)spa

在新開的頁面中有以下3個菜單:插件

  • Manage Roles
  • Assign Roles
  • Role Strategy Macros

1.3. 選擇"Manage Roles"進行角色配置。code

【Global roles】全局角色配置:
添加wts這個角色並進行受權xml

【Project roles】項目角色配置:blog

添加了三個項目角色: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的配置頁面再次配置受權策略。

3、踩到的坑

問題描述

首次配置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服務便可。

相關文章
相關標籤/搜索