AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

如果你還不理解 RBAC,看看 Jenkins 如何做到的

來源: 責編: 時間:2024-04-08 08:59:01 188觀看
導讀通過本篇你可以學習到如下內容:RBAC 的基礎知識。Jenkins 的角色權限插件的使用。實戰:通過角色來管理用戶的部署權限。一、RBACJenkins 對權限的支持是比較弱的,存在以下不足:有多個流水線任務,期望不同用戶能看到的任務

通過本篇你可以學習到如下內容:Tvl28資訊網——每日最新資訊28at.com

  • RBAC 的基礎知識。
  • Jenkins 的角色權限插件的使用。
  • 實戰:通過角色來管理用戶的部署權限。

一、RBAC

Jenkins 對權限的支持是比較弱的,存在以下不足:Tvl28資訊網——每日最新資訊28at.com

  • 有多個流水線任務,期望不同用戶能看到的任務不一樣。
  • 一個項目有多套環境,期望用戶只能部署某些環境。
  • 有的項目只讓用戶有查看權限,期望不給部署權限。

針對上面的不足,Jenkins 可以通過 RBAC 插件的方式來實現對權限的管控。RBAC 是常見的權限控制方案。Tvl28資訊網——每日最新資訊28at.com

RBAC(Role-Based Access Control):基于角色的權限控制。通過角色關聯用戶,角色關聯權限的方式間接賦予用戶權限。Tvl28資訊網——每日最新資訊28at.com

如下圖所示,三個用戶對應了三種角色,每個角色關聯了不同的部署任務,通過這種關聯方式間接賦予了用戶權限。Tvl28資訊網——每日最新資訊28at.com

圖片圖片Tvl28資訊網——每日最新資訊28at.com

二、角色權限插件

目前發現這個角色權限插件是比較好用的,推薦給大家使用。Tvl28資訊網——每日最新資訊28at.com

插件名:Role-based Authorization Strategy。可以到插件管理那里進行安裝,如下圖所示:Tvl28資訊網——每日最新資訊28at.com

角色權限策略插件角色權限策略插件Tvl28資訊網——每日最新資訊28at.com

三、選擇授權策略

Jenkins 自帶了多種授權策略,如下圖所示,在全局安全設置中可以選擇授權策略。Tvl28資訊網——每日最新資訊28at.com

對應的訪問路徑如下:Tvl28資訊網——每日最新資訊28at.com

Dashboard->Manage Jenkins->Configure Global Security

當我們安裝好 Role-based Authorization Strategy 插件后,就會出現一個 Role-Base Strategy 授權策略。Tvl28資訊網——每日最新資訊28at.com

Jenkins 授權策略Jenkins 授權策略Tvl28資訊網——每日最新資訊28at.com

下面開始演示如何基于這個授權策略來分配多個流水線的部署權限。Tvl28資訊網——每日最新資訊28at.com

四、創建演示用戶

為了更好的演示角色權限管理功能,我創建了 3 個用戶以及 4 個流水線任務。Tvl28資訊網——每日最新資訊28at.com

創建用戶的路徑為:Tvl28資訊網——每日最新資訊28at.com

http://<你的jenkins地址>:8080/securityRealm/

我在 jenkins 后臺創建了幾個用戶:Tvl28資訊網——每日最新資訊28at.com

  • 開發組長1:用戶名=passjava-master1
  • 測試組長1:用戶名=passjava-tester1
  • 項目經理1:用戶名=passjava-pm1

如下圖所示:Tvl28資訊網——每日最新資訊28at.com

圖片圖片Tvl28資訊網——每日最新資訊28at.com

五、創建演示任務

我創建了 4 個部署流水線任務,分別對應項目一和項目二的測試和生產環境。如下圖所示:Tvl28資訊網——每日最新資訊28at.com

圖片圖片Tvl28資訊網——每日最新資訊28at.com

項目一和項目二的測試和生產環境Tvl28資訊網——每日最新資訊28at.com

然后還創建了兩個分組:正式環境分組和測試環境分組。Tvl28資訊網——每日最新資訊28at.com

正式環境分組:demo-prod-envTvl28資訊網——每日最新資訊28at.com

  • 項目一正式環境:對應 passjava-prod-project1 任務
  • 項目二正式環境:對應 passjava-prod-project2 任務

測試環境分組:demo-test-envTvl28資訊網——每日最新資訊28at.com

  • 項目一測試環境:對應 passjava-test-project1 任務
  • 項目二測試環境:對應 passjava-test-project2 任務

分組的好處是可以歸類以及可以按組分配權限。Tvl28資訊網——每日最新資訊28at.com

六、創建演示角色

6.1 創建角色的頁面路徑

創建角色的路徑如下圖所示:Tvl28資訊網——每日最新資訊28at.com

圖片圖片Tvl28資訊網——每日最新資訊28at.com

創建角色的頁面路徑Tvl28資訊網——每日最新資訊28at.com

頁面地址:http://<你的jenkins服務ip>:8080/manage/role-strategy/訪問路徑:Dashboard->Manage Jenkins->Manage and Assign Roles->Manage Roles

6.2 三種角色

這個插件可以創建三種角色:Tvl28資訊網——每日最新資訊28at.com

  • Global roles:全局角色,例如管理員、作業創建者、匿名等,允許在全局基礎上設置總體、代理、任務、運行、查看和 SCM 權限。
  • Item roles:任務角色,允許在任務、分組上設置特定權限。
  • Agent roles:Agent 角色,本篇用不上。

6.3 全局角色

全局角色適用于 Jenkins 中的任何任務,并覆蓋你在任務角色中指定的任何內容。也就是說,當你在全局角色中授予角色權限 Job/Read,無論你在任務角色中指定什么,都允許該角色讀取所有任務。Tvl28資訊網——每日最新資訊28at.com

所以為了分配不同任務權限給不同角色,這里對于全局角色勾選一個 Overall Read 權限即可。如下圖所示:Tvl28資訊網——每日最新資訊28at.com

我創建了一個全局角色:passjava,如下圖所示。Tvl28資訊網——每日最新資訊28at.com

創建全局角色 passjava創建全局角色 passjavaTvl28資訊網——每日最新資訊28at.com

后續將上面創建的三個用戶加到這個 Global 角色中即可。Tvl28資訊網——每日最新資訊28at.com

注意:如果這三個用戶不加入到 passjava 角色中的話,后續這三個用戶登錄會提示報錯,如下圖所示:Tvl28資訊網——每日最新資訊28at.com

圖片圖片Tvl28資訊網——每日最新資訊28at.com

6.4 任務角色

我創建了三種任務角色:Tvl28資訊網——每日最新資訊28at.com

  • passjava-master:具有部署項目一和項目二的正式環境的權限。
  • passjava-tester:具有部署項目一的和項目二的測試環境的權限。
  • passjava-pm:具有查看項目一和項目二的正式環境和測試環境的權限,沒有部署權限。

如下圖所示:Tvl28資訊網——每日最新資訊28at.com

項目角色項目角色Tvl28資訊網——每日最新資訊28at.com

下面解釋下上面的權限配置:Tvl28資訊網——每日最新資訊28at.com

  • Role:代表角色名稱
  • Pattern:代表正則表達式。例如,如果將該字段設置為 passjava-prod.*,則該角色將匹配名稱以 passjava-prod 開頭的所有任務,更多匹配規則可到該插件的官網上查看。點擊藍色的 passjava-prod.*,則能看到匹配成功的任務:passjava-prod-project1任務 和 passjava-prod-project2任務,如下圖所示:

正則表達式匹配成功 項目正則表達式匹配成功 項目Tvl28資訊網——每日最新資訊28at.com

  • Job:任務的權限,我們勾選 Build(部署),Cancel(取消部署),Read(查看任務)即可。

6.5 分配角色

創建好全局角色和任務角色,我們就可以將用戶加入到對應的任務角色中,用戶和角色是多對多的關系。比如用戶張三可以具有角色 A 和角色 B 的權限,角色 A 的權限也可以給用戶張三和李四。Tvl28資訊網——每日最新資訊28at.com

6.5.1 分配全局角色

通過 Assign Roles 功能將三個用戶都加入到 passjava 角色中。Tvl28資訊網——每日最新資訊28at.com

圖片圖片Tvl28資訊網——每日最新資訊28at.com

6.5.2 分配項目角色

圖片圖片Tvl28資訊網——每日最新資訊28at.com

  • 開發組長具有 passjava-master 權限,可以部署項目一和項目二的正式環境。開發組長登錄系統后看到的任務列表如下圖所示:

開發組長查看項目列表開發組長查看項目列表Tvl28資訊網——每日最新資訊28at.com

  • 項目經理具有 passjava-pm 權限,可以查看項目一和項目二的測試和正式環境的部署情況。項目經理登錄系統后看到的任務列表如下圖所示:

圖片圖片Tvl28資訊網——每日最新資訊28at.com

  • 測試組長具有 passjava-tester 權限,可以部署項目一和項目二的測試環境。測試組長登錄系統后看到的任務列表如下圖所示:

而是組長查看項目列表而是組長查看項目列表Tvl28資訊網——每日最新資訊28at.com

可以從上面的結果看出用戶、角色、權限分配完成,不同的用戶可以部署不同的環境。Tvl28資訊網——每日最新資訊28at.com

七、總結

通過本篇的學習,我們了解了 RBAC 以及角色權限插件的使用。通過實戰掌握了如何配置不同用戶具有不同角色,不同角色具有不同任務的權限,從而可以更安全地管理用戶的部署權限。Tvl28資訊網——每日最新資訊28at.com

回到最開始提到的 Jenkins 的不足之處我們來看看解決方案是怎么樣的:Tvl28資訊網——每日最新資訊28at.com

  • 有多個流水線任務,期望不同用戶能看到的任務不一樣,解決方案是可以給不同角色分配不同的任務,不同用戶賦予不同角色。如實戰中的開發組長和測試組長看到的任務不一樣。
  • 一個項目有多套環境,期望用戶只能部署某些環境,解決方案是對多套環境創建對應的多個任務,多個角色擁有對應環境的任務,并對用戶賦予對應環境的角色。如實戰中開發組長只能看到正式環境的任務。
  • 有的項目只讓用戶有查看權限,期望不給部署權限,解決方案是添加一個只能查看對應項目的任務的角色,并給用戶賦予這個角色,如實戰中項目經理1只有查看權限,沒有部署權限。

本文鏈接:http://www.tebozhan.com/showinfo-26-81868-0.html如果你還不理解 RBAC,看看 Jenkins 如何做到的

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 用C++11打造智能觀察者模式:詳解實現步驟完整示例代碼

下一篇: 每天都提交代碼,那你知道.git目錄內部的秘密嗎?

標簽:
  • 熱門焦點
Top