1 訪問控制簡要介紹
默認的jenkins,登錄用戶都可以修改Jenkins設置、啓動build 等。顯然有需要多個部門多個人一起協調工作的時候,沒有任何安全檢查會帶來很多的問題。
在 Jenkins > Manage Jenkins > Configure Global Security 頁面可以 對 “訪問控制” 進行相應的設置
Jenkins的權限配置文件存放在 JENKINS_HOME目錄(JENKINS_HOME是在 /etc/sysconfig/jenkins 文件中配置的,一般情況,JENKINS_HOME="/var/lib/jenkins"),找到 config.xml 文件,裏面有一堆的東西,找找。。。找到了 <useSecurity>和<authorizationStrategy>節點。<useSecurity>節點代表是否使用用戶權限,<authorizationStrategy>節點代表用戶權限是怎麼劃分的。 --- 注意:config.xml 裏面的內容會隨着你在web頁面的設置或操作等動態變化
<useSecurity>true</useSecurity>
<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
<denyAnonymousReadAccess>true</denyAnonymousReadAccess>
</authorizationStrategy>
<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
<disableSignup>true</disableSignup>
<enableCaptcha>false</enableCaptcha>
</securityRealm>
1)Security Realm, 用來決定用戶名和密碼,且指定用戶屬於哪個組;
2)Authorization Strategy, 用來決定用戶對哪些資源有訪問權限;
2. 創建普通用戶
Jenkins > Manage Jenkins > Manage Users > 新建用戶
填寫完各項,點擊“新建用戶”,創建的用戶如下圖:
(在該用戶列表中,點擊某個用戶,可以進入該用戶的用戶界面,在該界面下可以進行刪除用戶操作)
若此時使用此時的dev用戶登錄會發現具有全部權限,下面我們 開始設置 “訪問控制”
3. 設置 “訪問控制”
在 Jenkins > Manage Jenkins > Configure Global Security 頁面可以 對 “訪問控制” 進行相應的設置
授權策略選擇 “安全矩陣”
點擊 “Add user or group” , 添加管理員用戶 Admin 和 剛纔創建的 普通用戶 dev (文本框輸入dev會自動顯示爲 “dev用戶”) ,權限設置如下所示:
注意:一定要給普通用戶 dev 賦 Ovreall/read 權限,不然登錄後什麼都沒有權限訪問,報錯如下: