插件簡介
插件名稱
Role-based Authorization Strategy
插件介紹
Role Strategy Plugin插件可以對構(gòu)建的項(xiàng)目進(jìn)行授權(quán)管理,讓不同的用戶管理不同的項(xiàng)目,將不同環(huán)境的權(quán)限進(jìn)行區(qū)分。該插件可以很靈活的根據(jù)需求來進(jìn)行劃分權(quán)限,包括正則匹配等
實(shí)現(xiàn)需求
測試工程師需要一個(gè)通用用戶,需要對測試環(huán)境的所有項(xiàng)目擁有只讀的權(quán)限,并且可以構(gòu)建
系統(tǒng)用戶
deploy_test:test環(huán)境所需用戶
jenkins 項(xiàng)目命名規(guī)則介紹
測試環(huán)境:dubbo、.*plat、wbsapiv
安裝插件
打開jenkins系統(tǒng)管理,單擊管理插件,找到可選插件,輸入插件名稱,然后點(diǎn)擊直接安裝即可

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

配置全局安全策略
點(diǎn)擊系統(tǒng)管理,點(diǎn)擊Configure Global Security
在該頁面中選擇授權(quán)策略為:Role-Based Strategy

配置Manage and Assign Roles策略
點(diǎn)擊系統(tǒng)管理,點(diǎn)擊Manage and Assign Roles,如下圖:

配置Manage Roles
在Manage Roles中有兩種角色:Global roles用來分配全局策略,而 Project roles根據(jù)項(xiàng)目環(huán)境來分配項(xiàng)目權(quán)限
配置Global roles

admin:超級管理員,它擁有所有的全局權(quán)限
test:test環(huán)境的用戶,它只可以看到全局的Overall面板
添加test的Overall的read權(quán)限原因:如果不添加的話,這些普通用戶登錄到j(luò)enkins則會提示:用戶沒有Overall/read權(quán)限(用戶無法登陸)
配置 Project roles

test_plat:匹配所有以plat結(jié)尾的項(xiàng)目,并分配view、read、build及workspace等權(quán)限。注意使用通配符‘’時(shí),需要在''前添加'.',否則無法保存并會報(bào)錯(cuò)。例如:
.*platps:不區(qū)分大小寫
(?i)roger-.*
配置Assign Roles
下面我們來將定義好的規(guī)則分配給具體的用戶,前面我們提到了系統(tǒng)用戶: deploy_test(部署測試)
配置Global roles

之前我們在test中定義了overall/read權(quán)限,現(xiàn)在將用戶和roles關(guān)聯(lián)起來,這樣test用戶就 擁有了改權(quán)限
配置Item roles

之前我們在Project roles中定義了三個(gè)規(guī)則,分別對應(yīng)
dubbo、.*plat、wbsapiv的項(xiàng)目及權(quán)限,在這里我們將用戶和roles關(guān)聯(lián)起來,這樣對應(yīng)的用戶就擁有了對應(yīng)roles的權(quán)限