本文帶您理解 RBAC 與 ABAC,分別說明它們是什麼,其功能以及運作原理。另外還會解釋 RBAC 和 ABAC 之間的差異,並討論其各自的優缺點。
何謂 RBAC?
角色型存取控制 (Role-Based Access Control,RBAC) 是網路安全解決方案,可保護 IT 資源(例如資料、雲端系統、伺服器、資料庫、叢集和網路)免遭系統或使用者未經授權的存取。RBAC 的方法允許根據使用者的角色進行存取和操作(例如,讀取、寫入或共用),任何被指派角色的使用者都擁有相應的權限。為所有使用者建立個別的角色來存取不同的資源,並且可以為使用者指派多個角色。
RBAC 系統的核心要素包括:
- 管理員—識別角色、授予權限並管理 RBAC 系統
- 角色—使用者根據其執行的任務分組在一起
- 權限—指派給每個角色的操作,規定使用者可以做什麼和不能做什麼(例如存取、讀取、寫入、分享或刪除)
角色可以透過以下方式定義:
- 權限,例如管理員、專家使用者、一般使用者、主管、經理或實習生
- 能力,例如熟練員工與新手
- 職責,例如董事會成員與 CEO,兩者在組織階層中處於同一級別,但根據其職責具有不同的存取權限
RBAC 存取控制原則的角色範例包括:
- 應付帳款(例如,負責處理帳單的使用者)
- 管理(例如,執行管理任務的使用者)
- 主要(例如,特定帳戶或角色的主要聯絡人)
- 技術支援(例如,執行支援中心請求的使用者)
何謂 ABAC?
與 RBAC 一樣,屬性型存取控制 (Attribute-Based Access Control,ABAC) 是一種網路安全解決方案,可保護 IT 資源(例如資料、雲端系統、伺服器、資料庫、叢集和網路)免遭系統或使用者未經授權的存取。
ABAC 被認為是 RBAC 的進化版,是透過評估特徵而非角色來建立存取權限。
它使用布林邏輯(Boolean algebra) 根據動態評估屬性及其之間的關係來授予或拒絕使用者存取權限。
ABAC 用於控制存取的屬性組合包括以下屬性。
ABAC 動作屬性
ABAC 動作屬性描述與被存取的系統或應用程式關聯的動作(即使用者試圖對資源或物件執行的操作)。在複雜的情況下,會以多個屬性描述一個動作。
用於驗證存取要求的 ABAC 動作屬性包括:
- 核准
- 複製
- 刪除
- 編輯
- 讀取
- 傳輸
- 檢視
- 寫入
ABAC 環境或情境屬性
ABAC 環境或情境屬性指出廣泛的存取要求情境,例如:
- 存取位置
- 存取目標
- 通訊協定
- 加密強度
- 正常行為模式
- 過去 24 小時內進行的交易次數
- 與第三方的關係
- 主體的裝置(例如筆記型電腦、平板電腦或手機)
- 威脅等級
ABAC 資源或物件屬性
ABAC 資源或物件屬性描述存取目標。資源或物件的特徵包括:
- 所有標識資源或物件的屬性,例如其建立日期、所有權、檔案名稱和類型,以及資料敏感性
- 資源或物件類型,例如檔案、應用程式、伺服器或應用程式介面 (API)
ABAC 主體或使用者屬性
ABAC 主體或使用者屬性通常是從登入期間的驗證權杖(Authentication tokens)、人力資源系統或使用者目錄收集。這些屬性描述嘗試存取資源的使用者。
ABAC 主體或使用者屬性可以包括以下有關使用者的資訊:
- 年齡
- 部門和組織隸屬關係
- 群組成員
- 工作角色
- 職稱
- 管理層級
- 姓名
- 國籍
- 組織
- 安全許可
- 使用者 ID
RBAC 與 ABAC 之間的差異
角色型存取控制和屬性型存取控制 (ABAC) 的方法不同。
RBAC | ABAC |
---|---|
- 根據預定義角色(例如管理員或經理)授予存取權限 - 管理廣泛的存取 - 考慮屬性,例如職稱和資歷 | - 根據與使用者、環境、動作和資源相關的屬性授予存取權限 - 管理精細的存取權限 - 考慮屬性,例如使用者類型、一天中的時間和位置 |
RBAC 與 ABAC 的優缺點比較
對 RBAC 與 ABAC 的評估揭露一些優缺點,包括以下內容。
RBAC 與 ABAC 的比較 - RBAC 的優點 | RBAC 與 ABAC 的比較 - RBAC 的缺點 |
---|---|
RBAC 最常被提及的優點是其簡單性,角色簡單且易於執行。RBAC 的其他優點包括: - 管理工作快。 - RBAC 需要的處理能力要求較低。 - 可以建立存取階層架構(例如,經理自動擁有其直接下屬的所有權限)。 - RBAC 實作成本通常較低。 | RBAC 最常被提及的缺點是角色爆炸,即需要新增更多角色以建立完整的存取權限。RBAC 的其他缺點包括: - RBAC 需要跨部門協作。 - 管理員必須充分瞭解業務和支援其運作的基礎架構。將使用者需求轉換為角色可能很複雜。 - 管理員有時會指派不合適的角色或增加違反原則的新角色,這會導致特權膨脹、角色爆炸和安全漏洞。 |
RBAC 與 ABAC 的比較 - ABAC 的優點 | RBAC 與 ABAC 的比較 - ABAC 的缺點 |
---|---|
ABAC 最常被提及的優點是明確的控制。ABAC 的其他優點包括: - 管理員可以定義、增強和管理許多變數,以提供出色的控制。 - 可以制定非常具體和精細的存取控制原則。 - 管理員在制定規則時可以從大量屬性中進行選擇。 - 不需要修改現有規則來配合新使用者或使用案例。 - 無需為了配合新使用者而修改現有規則。 | ABAC 最常被提及的缺點是需要大量時間來支援它。ABAC 的其他缺點包括: - 定義變數和設定存取控制原則十分費力,尤其是在剛開始時。 - 管理 ABAC 解決方案所需的專業知識資源有限。 - ABAC 系統的管理可能困難又耗時。 - 精細管理導致複雜性。 |
使用 RBAC 與 ABAC 的時機
使用 RBAC 與 ABAC 的典型實作情況如下。
對於具有以下特徵的組織可使用 RBAC:
- 外部使用者較少的中小型企業
- 存取控制原則廣泛
- 角色定義明確
對於具有以下特徵的組織可使用 ABAC:
- 擁有眾多分散使用者的大型企業
- 需要深入、特定的存取控制能力
- 需要強大的存取控制以遵循監管法遵規定
同時使用 RBAC 和 ABAC
對於擁有資源的企業組織來說,RBAC 結合 ABAC 的優勢可以成為防禦網路威脅的強大防禦手段。儘管 RBAC 和 ABAC 的運作方式不同,但可以一起使用。管理員可以使用 RBAC 為角色指派對特定資源的靜態存取,同時使用 ABAC 建立和強制執行精細控制的動態存取原則。