帳號權限管理一定需要的 RBAC 模型|EP63

更新於 2024/09/21閱讀時間約 4 分鐘

帳號權限管理一直是產品系統的重要議題,近期規劃權限功能時發現 RBAC 這套模型,才開始了解為什麼要有 User-Role-Permission 的架構,隨著系統規模的擴大和複雜度的增加,傳統的權限管理模式已經無法滿足需求,而基於角色的訪問控制(Role-Based Access Control,簡稱 RBAC)模型就為系統提供更加靈活的權限管理方式。

raw-image

一、RBAC 模型的概念

在傳統的權限模型,我們直接將權限賦予用戶(信箱),這種方式在小型系統中可能還能應付,但在大型複雜系統中很快就會變得難以管理,不太可能讓每個信箱都有不同權限,在管理上太麻煩。

因此 RBAC 模型的核心思想是引入「角色」的概念,將權限賦予在角色身上,再將角色綁定在用戶(信箱)。

raw-image

RBAC 模型的主要元素包括:

  1. 用戶(User):系統的使用者。
  2. 角色(Role):一組權限的集合,代表了特定的職責或工作功能。
  3. 權限(Permission):對特定資源執行特定操作的能力。

⠀⠀

RBAC 模型的工作流程如下:

  1. 定義角色:系統管理員根據業務需求定義不同的角色,例如提報人員、審核人員。
  2. 分配權限:為每個角色分配相應的權限,例如提報人員負責上架商品、審核人員可以審商品。
  3. 用戶分配:將用戶分配到適當的角色,例如 a@gmail 是管理員、b@gmail 是上架人員。
raw-image

⠀⠀

二、RBAC 模型的優勢和案例

⠀⠀

比對了 RBAC 這種 User-Role-Permission 架構和傳統的 User-Permission 架構,差異是:

  1. 簡化權限管理:通過角色這個中間層,減少權限分配的控管成本,若要增加操作權限,只要針對指定的「角色」調整,調整後該角色的「用戶」都會一起有這個權限。。
  2. 提高安全性:可以更精確地控制用戶的權限,降低權限濫用的風險,比較不會出現某些「用戶」的信箱會有非預期的權限。
  3. 調整靈活性:可以快速調整用戶的權限,只需更改用戶對應的「角色」就能套用。

⠀⠀

以下是常見的 RBAC 案例:

⠀⠀

案例一:倉庫管理系統

在一個大型倉庫管理系統中,可能會有以下角色:

  1. 最高管理員:擁有系統的所有權限,包含新增成員。
  2. 倉庫經理:可以查看所有庫存資料,包含上架、出貨、報表。
  3. 上架人員:僅負責商品的入庫和上架,包含上架商品和修改庫存。
  4. 出貨人員:僅負責商品的出庫,包含配號、出貨、退貨。
  5. 財務人員:僅負責下載報表,包含業績報表、庫存報表。

在這個系統中,如果有一個新員工要成為上架人員,我們只需要將他的信箱指定到「上架人員」這個角色,他就會獲得上架人員的所有權限。

若上架人員要新增一個權限,我們只需要針對「上架人員」這個角色增加設定,裡面的所有「用戶」的帳號就會被套用。

若某個用戶要改成管理員,也只需調整該帳號對應的「角色」即可。從上架人員改成管理員。

⠀⠀

案例二:電子商務平台

在電商平台中,可能會有以下角色:

  1. 平台系統管理員:擁有平台的最高權限。
  2. 供應商管理員:可以管理自己的商店,上傳商品,處理訂單。
  3. 客服人員:僅可以查看訂單、處理退款、回覆消費者訊息。
  4. 財務人員:僅可以查看商店銷售報表。
  5. 一般消費者:可以購買一般商品。
  6. VIP 消費者:除了一般商品,還可以購買指定會員的商品。

通過這種角色劃分,平台可以精確控制每種用戶的權限,確保每個人只能訪問與其職責相關的功能。

⠀⠀


⠀⠀

三、RBAC 模型的導入步驟

⠀⠀

要在一個系統中搭出 RBAC 模型,前期需要建立幾個機制:

  1. 角色分析:仔細蒐集組織業務流程和職責劃分,確定需要哪些角色。
  2. 權限定義:為每個角色定義所需的具體權限。
  3. 角色分配:將用戶分配到適當的角色。

⠀⠀

在開發過程,則需要確認:

  1. 架構設計:包括資料庫設計、頁面權限檢查機制。
  2. 測試驗證:全面測試系統,確保每個角色只會看到指定權限。

⠀⠀

實務上,以業務場景還需要確認:

  1. 角色控管:隨著系統複雜度或客戶數增加,難免會不斷增加角色,這時就需要一個大表清楚知道各角色會有什麼權限。
  2. 客製權限:若 A 和 B 客戶都有相同角色,當 A 客戶提出角色希望增加一個權限,則要考慮會不會影響到 B 客戶。

⠀⠀


⠀⠀

四、結論

⠀⠀

RBAC 模型幾乎是現在大型系統的權限管理方式,從倉庫管理系統、銀行系統、電商系統,都有滿好的適應。

但 RBAC 模型也不是萬能的,實際操作場景可能還需要搭配其他控制模型來滿足複雜的業務需求。

如對這系列文章有興趣可以再觀看:

《思維的創意想像》是工作之餘發起的 Side Project,因為近期快速吸收各種資訊跟商業知識(Input),但一直沒有地方輸出(Output),因此想透過這系列記錄學到的內容,包含商業知識、產業洞見,或是職場分享等等,目前已有產品開發、客戶成功、社群行銷、思維增長、職場日記等系列文章。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
產品設計階段我們常追求流暢的使用者體驗,希望用戶能夠輕鬆、直觀地完成各種操作,但有些刻意設計的「摩擦」反而能提升產品體驗,這篇想記錄「摩擦設計」(Friction Design)的概念,以及在實際工作中的應用。
近期公司不斷討論「高績效團隊」,也讓我不斷思考一個高績效的產品開發團隊如何組成?事前要有哪些共識和建立什麼文化?我以「結果、流程、承諾、溝通」這四個面向來整理。
在我近 1–2 年的產品經理職涯,不斷思考初階 PM 和中階 PM 的差異是什麼,除了時間積累,在能力和思維上還能如何提升?經過各方的文章、影片、課程,這篇我會記錄我觀察到的初階產品經理要繼續累積的關鍵特質。
以產品經理的日常工作,常會收到不同部門的各種需求,像是功能優化、Bug 修復、文案調整,這些「需求」也可以說是對產品的「要求」,因為需求方通常僅根據自己的角度傳遞想法,但產品往往需要綜合多方使用者的描述,將這些「要求」轉化為通用、或是最有價值的需求。
品經理再往上晉升的道路是什麼?這篇是電商產品經理的自問自答,由自身來剖析成長之路,並綜合《俞軍產品方法論》的「產品經理的選拔與成長」章節,一起拆解晉升、成長、價值。
API(Application Programming Interface,應用程式介面)可以視為不同軟體系統之間的溝通橋梁,讓雙邊可以交換數據並執行各種功能。這篇會記錄產品經理一定要知道的幾個 API 概念,像是常見的錯誤代碼以及不同的 HTTP 方法(如 PUT、GET、POST)和實際案例說明
產品設計階段我們常追求流暢的使用者體驗,希望用戶能夠輕鬆、直觀地完成各種操作,但有些刻意設計的「摩擦」反而能提升產品體驗,這篇想記錄「摩擦設計」(Friction Design)的概念,以及在實際工作中的應用。
近期公司不斷討論「高績效團隊」,也讓我不斷思考一個高績效的產品開發團隊如何組成?事前要有哪些共識和建立什麼文化?我以「結果、流程、承諾、溝通」這四個面向來整理。
在我近 1–2 年的產品經理職涯,不斷思考初階 PM 和中階 PM 的差異是什麼,除了時間積累,在能力和思維上還能如何提升?經過各方的文章、影片、課程,這篇我會記錄我觀察到的初階產品經理要繼續累積的關鍵特質。
以產品經理的日常工作,常會收到不同部門的各種需求,像是功能優化、Bug 修復、文案調整,這些「需求」也可以說是對產品的「要求」,因為需求方通常僅根據自己的角度傳遞想法,但產品往往需要綜合多方使用者的描述,將這些「要求」轉化為通用、或是最有價值的需求。
品經理再往上晉升的道路是什麼?這篇是電商產品經理的自問自答,由自身來剖析成長之路,並綜合《俞軍產品方法論》的「產品經理的選拔與成長」章節,一起拆解晉升、成長、價值。
API(Application Programming Interface,應用程式介面)可以視為不同軟體系統之間的溝通橋梁,讓雙邊可以交換數據並執行各種功能。這篇會記錄產品經理一定要知道的幾個 API 概念,像是常見的錯誤代碼以及不同的 HTTP 方法(如 PUT、GET、POST)和實際案例說明
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
隨著企業在數位轉型過程中,愈來愈依賴多雲端架構,對雲端安全性和合規性的需求變得前所未有的重要。 雲原生應用程式保護平台(CNAPP)提供了一套全面的解決方案,讓企業能夠有效地管理多雲端環境中的安全性和合規性。
在現代社會,網絡扮演著越來越重要的角色。我們的生活和工作都依賴著互聯網和各種數字設備,從銀行帳戶到智慧家居,再到政府和企業的重要系統,這一切都需要確保良好的網絡安全。 網絡安全的重要性可以從以下幾個方面體現: 個人資訊保護個人隱私和金融信息極其敏感,一旦遭到黑客攻擊或數據洩露,都會給個人帶來巨大
在當今數位化和資訊化程度越來越高的環境下,企業面臨的資安挑戰也日益嚴峻。資料外洩不僅可能造成重大財務損失,還可能觸犯法律法規,影響企業的聲譽和運營。因此,選擇合適的防毒軟體對於企業來說至關重要。本文將探討企業在選擇防毒軟體時需要考慮的關鍵因素,以及如何避免因資料外洩而觸法的問題。
在現今數位時代,網路安全已成為企業和個人必須面對的首要挑戰。隨著網路犯罪活動的日益猖獗,如何有效地保護敏感資訊並確保網絡環境的安全,成為每個組織和個人不可忽視的重要課題。本文將帶你了解如何利用先進的監控軟體來提升資訊安全,為您提供全面的解決方案。
Thumbnail
隨着網絡攻擊和資料外洩的種類越來越多,防御方案的部署也要與時並進。近年,很多企業開始留意和測試部署使用者和實體行為分析(UEBA)的可行性。 在資訊保安工作上,內部人員被駭或者內部人員出現錯誤的行為導致企業暴露於風險之中......
Thumbnail
大數據時代下,Log的多元應用至關重要。Log生成龐大,格式各異,特別金融業需合規。探討Log廣泛應用、資訊安全、IT管理和商業決策。建立Log管理系統核心深入法規,強化IT治理、權限控管。一站式Log管理平台,確保資訊安全合規。
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
隨著企業在數位轉型過程中,愈來愈依賴多雲端架構,對雲端安全性和合規性的需求變得前所未有的重要。 雲原生應用程式保護平台(CNAPP)提供了一套全面的解決方案,讓企業能夠有效地管理多雲端環境中的安全性和合規性。
在現代社會,網絡扮演著越來越重要的角色。我們的生活和工作都依賴著互聯網和各種數字設備,從銀行帳戶到智慧家居,再到政府和企業的重要系統,這一切都需要確保良好的網絡安全。 網絡安全的重要性可以從以下幾個方面體現: 個人資訊保護個人隱私和金融信息極其敏感,一旦遭到黑客攻擊或數據洩露,都會給個人帶來巨大
在當今數位化和資訊化程度越來越高的環境下,企業面臨的資安挑戰也日益嚴峻。資料外洩不僅可能造成重大財務損失,還可能觸犯法律法規,影響企業的聲譽和運營。因此,選擇合適的防毒軟體對於企業來說至關重要。本文將探討企業在選擇防毒軟體時需要考慮的關鍵因素,以及如何避免因資料外洩而觸法的問題。
在現今數位時代,網路安全已成為企業和個人必須面對的首要挑戰。隨著網路犯罪活動的日益猖獗,如何有效地保護敏感資訊並確保網絡環境的安全,成為每個組織和個人不可忽視的重要課題。本文將帶你了解如何利用先進的監控軟體來提升資訊安全,為您提供全面的解決方案。
Thumbnail
隨着網絡攻擊和資料外洩的種類越來越多,防御方案的部署也要與時並進。近年,很多企業開始留意和測試部署使用者和實體行為分析(UEBA)的可行性。 在資訊保安工作上,內部人員被駭或者內部人員出現錯誤的行為導致企業暴露於風險之中......
Thumbnail
大數據時代下,Log的多元應用至關重要。Log生成龐大,格式各異,特別金融業需合規。探討Log廣泛應用、資訊安全、IT管理和商業決策。建立Log管理系統核心深入法規,強化IT治理、權限控管。一站式Log管理平台,確保資訊安全合規。