權限需求
因JENKINS上存有de(開發)、te(測試)、re(預發布)等三個不同環境的項目,同時因為項目需求,需要對不同的開發及測試人員配置不同的jenkins權限,即以項目為單位,對不同人員進行不同權限配置,要求如下:
1、項目都以healthcloud開頭,分別以-de、-te、-re結尾,根據三類結尾可把項目分成開發、測試、預發布三類項目,同時分別對應不同的項目需求人員;
2、開發人員登錄jenkins只能查看並構建de項目;
3、測試人員登錄jenkins只能查看並構建te項目;
4、re賬號提供給所有人,只具有查看所有項目的權限,便於技術人員排查問題。
說明:
1、此文創建test和re賬號,對其進行權限分配並圖文說明,其他需求可按部就班!
2、此文的截圖中可能涵蓋其它需求配置,此處請重視截圖的紅框標記即可,其他配置可忽略!
前提說明
要實現權限需求,需先確保jenkins的權限插件已安裝,插件名:Role-Based Strategy或者Role-based Authorization Strategy
功能實現
# 用管理員賬號登陸Jenkins;
# 系統管理à管理用戶à新建用戶à創建test和re用戶;
# 系統管理à全局安全配置,選擇授權策略;
# 系統管理àManage and Assign Roles,配置權限策略;
# 選擇Manage Roles,分別進行Global roles、Project roles權限配置;
注:必須先進行Global roles的配置后方可對Project roles進行配置,可以理解為先配置整體性權限,再按項目分權限,遵守從大到小權限控制的原則!
# 配置Global roles的builder和reader權限;
# 配置Project roles,根據正則匹配對不同用戶分配不同項目的不同權限(此處框內意義是角色te-all具有所有te結尾的項目的構建權限);
# 配置Assign Roles;
# 配置re賬號的全局可讀權限和test賬號的全局構建權限;
# 此時test具有全局的構建權限,現需針對項目對其划分僅有指定測試環境的項目構建權限,即縮小權限,添加約束;
功能驗證
# 管理員賬號(kazihuo)登錄,顯示所有項目的所有權限;
# test賬號登錄,只顯示所有以te結尾的項目,同時具有構建權限;
# re賬號登陸,只具有所有項目的查看權限(可看到項目右側的構建按鈕消失);