Jenkins的權限管理

Jenkins的權限管理

Jenkins自己自帶安全管理的功能,可是通常狀況下不多去使用,更可能是使用插件的方式進行更加靈活的處理。
Jenkins的權限管理須要依賴Jenkins的權限管理插件。經過配置插件role-base,能夠很方便給不一樣用戶不一樣job的管理和執行權限。vim

安裝插件

在系統管理、插件管理中搜索role-base 插件,進行安裝:
Jenkins的權限管理安全

Jenkins的權限管理

搜索 Role-base安裝:
Jenkins的權限管理ide

安裝完成以後,在「配置全局安全」中,能夠看到已經添加了 role-base的相關選項:
Jenkins的權限管理工具

選中以後,保存當前配置,在管理界面,能夠發現已經有了有一個角色管理的工具:
Jenkins的權限管理插件

點擊進入以後,就能夠對咱們的用戶進行管理。code

權限分配

這裏建立一個dev的用戶,並分配一個job作爲示例。
建立dev用戶,系統管理中,選擇用戶管理:
Jenkins的權限管理xml

選擇右側的建立用戶:
Jenkins的權限管理blog

配置用戶名和密碼信息:
Jenkins的權限管理jenkins

在系統管理,中進入剛剛安裝的role-base工具中,建立一個dev的角色:
Jenkins的權限管理it

建立一個dev的角色,並只授予讀的權限:
Jenkins的權限管理

此時已經添加了一個dev的全局角色,在角色分配界面,添加dev-1用戶到dev的角色中:
Jenkins的權限管理

這裏須要注意的是,以前admin或root的權限選項不要移除,不然這些用戶可能沒法登陸。
此時若是使用dev-1的用戶登陸,發現沒有任何job,由於尚未建立dev-1用戶具備權限查看的job:
Jenkins的權限管理

此時,建立一個新的job,並分配權限給dev-1用戶:
Jenkins的權限管理

這裏能夠根據具體的需求建立對應的job, 示例選擇建立一個hello world:
Jenkins的權限管理

咱們能夠給dev-job單首創建一個視圖:
Jenkins的權限管理
配置視圖的類型:
Jenkins的權限管理
指定視圖對應的job:
Jenkins的權限管理

在角色管理界面,添加對應的項目角色,可使用正則的方式匹配對應的job名稱:
Jenkins的權限管理

而後在角色分配界面,添加咱們的dev-1用戶,到項目角色中:
Jenkins的權限管理

此時,dev-job對應的權限分配就完成了,能夠經過登陸dev-1用戶,查看當前的job執行權限:
Jenkins的權限管理

權限配置錯誤後管理員沒法登陸解決

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,從新配置權限。

相關文章
相關標籤/搜索