Jenkins奇技淫巧 — 安裝篇(mac)
Jenkins奇技淫巧 — 配置篇
Jenkins奇技淫巧 — 安全篇
Jenkins奇技淫巧 — 發送郵件篇
Jenkins奇技淫巧 — 全局變量篇
Jenkins奇技淫巧 — 新建任務篇
Jenkins奇技淫巧 — 插件篇
Jenkins奇技淫巧 — 問題篇
Jenkins奇技淫巧 — 命令篇
Jenkins奇技淫巧 — 環境配置篇(Android自動化構建)
Jenkins奇技淫巧 — 參數化構建篇(Android自動化構建)
Jenkins奇技淫巧 — 第一次實戰篇(Android自動化構建)
Jenkins奇技淫巧 — Python打包篇(Android自動化構建)
Jenkins奇技淫巧 — Python發送郵件和上傳蒲公英(Android自動化構建)
Jenkins奇技淫巧 — 樂固,多渠道打包篇(Android自動化構建)
Jenkins奇技淫巧 — 節點管理篇
Jenkins奇技淫巧 — 優秀文章篇
管理用戶(系統管理 -> 管理用戶)
在第一篇文章Jenkins奇技淫巧 — 安裝篇(mac)里,安裝成功后,第一次訪問Jenkins,會讓我們選擇是直接用admin作為管理員登陸Jenkins,還是自己新創建一個管理員賬戶,如果選擇的是直接使用admin進入,那么在用戶列表里面就會顯示admin賬戶,由于admin默認的密碼很長,很難記憶,所以我們可以重新創建一個管理員賬戶,當然也可以修改admin的密碼和賬戶名。
- 創建用戶
管理員賬戶默認擁有所有的權限,可以進入“系統管理”,配置Jenkins相關數據,管理員再創建管理員,當前管理員可以刪除其它管理員賬戶,管理員可以設置是否允許注冊Jenkins登陸賬號等,在用戶列表,點擊左側新建用戶即可創建新的管理員賬戶。
全局安全配置(系統管理 -> 全局安全配置)
Jenkins官方文檔 [https://jenkins.io/zh/doc/book/managing/security/]
訪問控制是保護Jenkins環境免受未經授權使用的主要機制。在Jenkins中配置訪問控制 是必要的:
- 訪問控制
-
安全域
告訴Jenkins環境如何以及從何處獲取用戶(或身份)信息。 也稱為 "認證"。這里我們用“Jenkins專有用戶數據庫”,其它安全域請自行查看官方文檔-
Jenkins專有用戶數據庫
使用Jenkins自己內置的用戶數據存儲來進行身份驗證,而不是委托給外部系統。 這是Jenkins 2.0或后來安裝的Jenkins默認啟用的,適用于小環境。允許用戶注冊 保存后系統管理中就出現管理用戶的選項。頁面右上角也會出現“登錄/注冊”的選項。注冊后,可以使用Jenkins相關功能。
-
-
授權策略
告訴 Jenkins 環境, 配置用戶和/或組可以訪問Jenkins的哪些功能和文件。Role-Based Strategy
使用插件方式,更加細粒度度控制權限任何用戶可以做任何事(沒有任何限制)
每個人都能完全控制Jenkins, 包括沒有登陸的匿名用戶。 最好不要使用這種配置,除非在本地測試Jenkins主機,當然,我們肯定不希望通過注冊的用戶也擁有像管理員一樣的權限。遺留模式(Legacy mode)
與Jenkins <1.164的行為完全相同。也就是說, 如果一個用戶擁有 "admin" 角色, 就會被授予對系統的完全控制, 負責 (包括匿名用戶) 只會擁有讀訪問權限。 除了在本地測試Jenkins主機,最好不要使用這種配置。登錄用戶可以做任何事(Logged in users can do anything)
在該模式下, 每個登陸的用戶對Jenkins完全控制。根據一個高級選項, 匿名用戶獲取Jenkins的訪問權限, 或者根本無法訪問。該模式有助于強制用戶在操作前進行登錄, 以便于對用戶的行為進行審計跟蹤。安全矩陣(Matrix-based security)
該授權方案對允許用戶和組在Jenkins環境下能夠進行哪些操作進行細粒度控制
-
將鼠標放在對應的權限上面,會有說明,英文的可以自行谷歌翻譯。
匿名用戶(Anonymous Users)
這里沒有給匿名用戶任何權限,所以根本無法進入Jenkins首頁-
認證用戶(Authenticated Users)
比如注冊過的用戶,就屬于該組,當在認證用戶欄勾選了權限,同時又給單個用戶配置了權限,那么該注冊用戶的權限是認證用戶組的權限和給予用戶的權限的并集。點擊“add user or group...”添加用戶或者用戶組,名字是賬戶名,在用戶列表里面展示的。比如這里的pds,test賬戶。- 項目矩陣授權策略(Project-based Matrix Authorization Strategy) 此授權方案是基于矩陣的安全性的擴展, 它允許為在項目配置屏幕中的 *each project*分別定義額外的訪問控制列表 (ACL)。它允許特定的用戶和組訪問特定的項目, 而不是Jenkins 環境中的所有項目。 基于項目的矩陣授權定義的ACL是附加的,在配置全局安全屏幕中定義的訪問授權將與 指定項目的ACL相結合。
安全矩陣和項目矩陣授權策略的配置是一模一樣的,唯一的區別是項目矩陣授權策略支持在Job的配置頁面再次配置授權策略。
基于矩陣的安全性和基于項目的矩陣授權策略由 Matrix Authorization Strategy Plugin插件提供,它可能不會安裝在你的Jenkins中。
如果不進行權限控制,你發現注冊用戶可以修改你Jenkins的配置,所以你可以在認證用戶組配置相應權限,而管理員擁有全部權限,或者不允許注冊,管理員直接創建用戶并設置權限。
憑據配置(系統管理 -> 憑據配置)
憑據是什么,可以理解成賬戶和密碼,在需要使用的時候,可以直接選擇需要使用的憑據就可以了,不用輸入賬戶和密碼。
講解憑據配置之前我們來看看,怎么創建憑據,在Jenkins左邊又個憑據選項,點擊進入。
圖片的上面展示的是我們創建的憑據,里面寫明了提供者,域,id等,下面是提供者,以及提供者包含了哪些域。默認有一個全局的域
- 將鼠標放到提供者名字上面,會出現一個下拉箭頭,然后可以添加域,當然你可以點擊左邊的系統(即默認的提供者),然后添加域。
-
點擊對應提供者列表下的域,進入域所包含的憑據列表,點擊添加憑據。
屏幕快照 2019-04-18 下午5.45.13.png
- 類型:
- Secret text - 例如 API token(例如 GitHub 的個人 access token)
- Username and password - 可以作為單獨的組件處理,也可以作為
username:password
格式的冒號分隔字符串來處理 - Secret file - 實際上是文件中的秘密內容
- SSH Username with private key - 一個 [SSH 密鑰對]
- Certificate - 指定證書和可選的密碼。上傳 PKCS#12 證書。
- Docker Host Certificate Authentication - 主機證書身份驗證憑證.
- 范圍:該憑據能夠使用的范圍,比如只能本節點能夠使用,其它節點不能使用
- ID:添加憑據后,系統生成的
-
添加憑據后
屏幕快照 2019-04-18 下午5.49.33.png -
那現在我們來看,憑據配置界面
屏幕快照 2019-04-18 下午5.50.35.png
- 提供者:就是使用哪些提供者提供的憑據,如果全部不使用,你會發現,左邊的憑據選項會消失。
- 類型:在我們創建憑據的時候,我們所用的類型,比如用戶名和密碼。
- 限制:即提供者和類型。
管理員密碼忘記
這個自行百度,不同的Jenkins版本可能有些不同。