Jenkins自己自帶安全管理的功能,可是通常狀況下不多去使用,更可能是使用插件的方式進行更加靈活的處理。
Jenkins的權限管理須要依賴Jenkins的權限管理插件。經過配置插件role-base,能夠很方便給不一樣用戶不一樣job的管理和執行權限。vim
在系統管理、插件管理中搜索role-base 插件,進行安裝:
安全
搜索 Role-base安裝:
ide
安裝完成以後,在「配置全局安全」中,能夠看到已經添加了 role-base的相關選項:
工具
選中以後,保存當前配置,在管理界面,能夠發現已經有了有一個角色管理的工具:
插件
點擊進入以後,就能夠對咱們的用戶進行管理。code
這裏建立一個dev的用戶,並分配一個job作爲示例。
建立dev用戶,系統管理中,選擇用戶管理:
xml
選擇右側的建立用戶:
blog
配置用戶名和密碼信息:
jenkins
在系統管理,中進入剛剛安裝的role-base工具中,建立一個dev的角色:
it
建立一個dev的角色,並只授予讀的權限:
此時已經添加了一個dev的全局角色,在角色分配界面,添加dev-1用戶到dev的角色中:
這裏須要注意的是,以前admin或root的權限選項不要移除,不然這些用戶可能沒法登陸。
此時若是使用dev-1的用戶登陸,發現沒有任何job,由於尚未建立dev-1用戶具備權限查看的job:
此時,建立一個新的job,並分配權限給dev-1用戶:
這裏能夠根據具體的需求建立對應的job, 示例選擇建立一個hello world:
咱們能夠給dev-job單首創建一個視圖:
配置視圖的類型:
指定視圖對應的job:
在角色管理界面,添加對應的項目角色,可使用正則的方式匹配對應的job名稱:
而後在角色分配界面,添加咱們的dev-1用戶,到項目角色中:
此時,dev-job對應的權限分配就完成了,能夠經過登陸dev-1用戶,查看當前的job執行權限:
1.中止jenkins
systemctl stop jenkins
2.修改config.xml
# vim /var/lib/jenkins/config.xml <useSecurity>true</useSecurity>
修改成:
<useSecurity>false</useSecurity>
刪除:
<authorizationStrategy …/>和<securityRealm …>到</securityRealm>
例如刪除如下內容:
<authorizationStrategy class="hudson.security.ProjectMatrixAuthorizationStrategy"/> <securityRealm class="hudson.security.HudsonPrivateSecurityRealm"> <disableSignup>true</disableSignup> <enableCaptcha>false</enableCaptcha> </securityRealm>
3.啓動jenkins
# systemctl start jenkins
4.登陸jenkins,從新配置權限。