什麼是基於角色的存取控制 (RBAC)?

基於角色的存取控制僅根據使用者在組織中的角色允許或限制使用者對資料的存取。

學習目標

閱讀本文後,您將能夠:

  • 瞭解基於角色的存取控制 (RBAC) 的運作方式
  • 將 RBAC 與其他類型的存取控制(如基於屬性和基於規則的存取控制)進行比較

複製文章連結

什麼是基於角色的存取控制 (RBAC)?

基於角色的存取控制 (RBAC) 可控制使用者能夠在公司的 IT 系統中執行的操作。RBAC 透過為每個使用者分配一個或多個「角色」並為每個角色提供不同的權限來實現此目的。RBAC 可以套用至單個軟體應用程式,也可以跨多個應用程式套用。

基於角色的存取控制範例

想像一間居住了幾個人的房屋。每個居民都會得到一把可打開前門的鑰匙:他們並不會各自收到一把不同設計的鑰匙,而這些鑰匙都能夠打開前門。如果他們需要進入這一房產的其他部分,如後院的倉庫,他們可能會收到第二把鑰匙。沒有居民會只收到打開倉庫的鑰匙,也不會有人收到可同時打開倉庫和前門的特殊鑰匙。

在 RBAC 中,角色是靜態的,就像上面範例中的房屋鑰匙一樣。對於擁有它們的人來說,它們都是相同的,任何需要更多存取權限的人都會被獲得一個額外的角色(或第二個金鑰),而不是獲得自訂權限。

從理論上講,這種基於角色的存取控制方法使得管理使用者權限相對簡單,因為權限不是針對單個使用者定製的。但是,在具有許多角色和許多應用程式的大型企業中,RBAC 有時會變得複雜且難以追蹤,因此使用者最終可能會獲得超出所需的權限。

什麼是存取控制?

在網路安全中,存取控制是一些工具,用於限制和控制使用者能夠執行的操作以及他們能夠看到的資料。輸入密碼以解鎖智慧型手機是存取控制的一個基本範例:只有知道密碼的人才能存取手機上的檔案和應用程式。

什麼是角色?

一個人在公司中的職位可以稱為「角色」。但是,角色在 RBAC 中具有更技術性的定義:它是在公司系統中使用的一組明確定義的能力或權限。每個內部使用者至少會被指派一個角色,有些使用者可能有多個角色。

角色是通用的,不是為組織內的任何一個員工量身定製的。例如,銷售人員不會收到專門為其使用者帳戶設定的權限。相反,將為他們指派「銷售人員」角色以及所有隨附的權限,例如檢視和編輯客戶帳戶資料庫的能力。團隊中的其他銷售人員將被指派相同的角色。如果某個銷售人員需要擴展權限,則會為其指派其他角色。

這種方法確實使新增或移除使用者相對簡單——管理員只需變更其角色即可,而不是編輯單個使用者的權限。

什麼是使用者權限?

在存取控制的環境中,權限是執行動作的能力,例如將檔案上傳到公司資料庫的能力。受信任的使用者(例如內部員工)將有權上傳檔案,而外部承包商可能沒有此能力。在 RBAC 中,每個可能的角色都附帶一組權限。

什麼是基於屬性的存取控制 (ABAC)?

基於屬性的存取控制 (ABAC) 是控制組織內存取的可選方法。ABAC 與 RBAC 有些相似,但比之更精細:ABAC 中的權限基於使用者屬性,而不是使用者角色。屬性幾乎可以是任何東西:使用者的特定特徵(如職位或安全許可)、正在執行的動作的屬性,甚至是「真實世界」的屬性,例如一天中的當前時間或待存取資料的實際位置。

RBAC 與 ABAC

RBAC 和 ABAC 都考慮了使用者的特徵。但是,ABAC 可能考慮更多的環境因素,例如正在執行的動作以及使用者正在存取的資料或系統的屬性,而 RBAC 僅考慮使用者的角色。這使得 ABAC 比 RBAC 更具動態性,但更難以有效管理。

什麼是基於規則的存取控制?

基於角色的存取控制與基於規則的存取控制不同。基於規則的存取控制基於一組規則構建,而基於角色的存取控制基於使用者。基於規則的控制器將封鎖某些動作,例如連接埠IP 位址或資料輸入類型,無論請求來自何處。防火牆通常用於實作基於規則的存取控制。

Cloudflare 如何幫助企業實施存取控制原則?

Cloudflare Zero Trust empowers businesses to secure, authenticate, monitor, and allow or deny user access to any domain, application, or path on Cloudflare. Cloudflare Zero Trust quickly applies application-level user permissions to a business's internal resources, and it also keeps a log of all resources that users access.