插件簡介
插件名稱
Role-based Authorization Strategy
插件介紹
Role Strategy Plugin插件可以對構建的項目進行授權管理,讓不同的用戶管理不同的項目,將不同環境的權限進行區分。該插件可以很靈活的根據需求來進行划分權限,包括正則匹配等
實現需求
測試工程師需要一個通用用戶,需要對測試環境的所有項目擁有只讀的權限,並且可以構建
系統用戶
deploy_test:test環境所需用戶
jenkins 項目命名規則介紹
測試環境:dubbo
、.*plat
、wbsapiv
安裝插件
打開jenkins系統管理,單擊管理插件,找到可選插件,輸入插件名稱,然后點擊直接安裝即可

如果你已經安裝過該插件,則在已安裝一欄中可以看到該插件

配置全局安全策略
點擊系統管理,點擊Configure Global Security
在該頁面中選擇授權策略為:Role-Based Strategy

配置Manage and Assign Roles策略
點擊系統管理,點擊Manage and Assign Roles,如下圖:
配置Manage Roles
在Manage Roles中有兩種角色:Global roles用來分配全局策略,而 Project roles根據項目環境來分配項目權限
配置Global roles
admin:超級管理員,它擁有所有的全局權限
test:test環境的用戶,它只可以看到全局的Overall面板
添加test的Overall的read權限原因:如果不添加的話,這些普通用戶登錄到jenkins則會提示:用戶沒有Overall/read權限(用戶無法登陸)
reader:它只可以看到相關讀權限的面板
配置 Project roles
java.*:匹配所有以java開頭的項目,並分配view、read、build及workspace等權限。
注意使用通配符‘’時,需要在''前添加'.',否則無法保存並會報錯。例如:.*plat
ps:不區分大小寫(?i)roger-.*
配置Assign Roles
下面我們來將定義好的規則分配給具體的用戶: java
配置Global roles
現在將用戶和roles關聯起來,這樣java用戶就 擁有了讀權限
配置Item roles
之前我們在Project roles中定義了一個規則,分別對應java.*的項目及權限,在這里我們將用戶和project roles關聯起來,這樣對應的用戶就擁有了對應項目roles的權限。
驗證配置是否正確
java用戶登錄
1.面板權限(面板、師徒都能顯示)
2.項目角色權限驗證(項目非java開頭)
3.項目角色權限驗證(項目以java開頭)