基於關係的訪問控制

維基百科,自由的百科全書

在計算機系統安全領域,基於關係的訪問控制 (ReBAC)定義了一種授權範式,其中主體訪問資源的權限由這些主體與資源之間存在的關係來定義。

通常,ReBAC 中的授權是通過遍歷關係有向圖來執行的。該圖的節點和邊與資源描述框架 (RDF)數據格式中的三元組非常相似。[1] ReBAC 系統允許存在關係層次結構,一些系統還允許定義更複雜的關係,包括關係上的代數運算符,例如併集、交集和差集。[2]

ReBAC 隨著社交網絡應用的興起而流行起來,在這些應用中,用戶需要根據他們與數據接收者之間的關係,而不是接收者的角色,來控制他們的個人信息。[3]使用 ReBAC 可以為團隊和群體統一定義權限,從而消除了為每個資源單獨設置權限的需要。[4]

基於角色的訪問控制 (RBAC)相比,RBAC 定義了帶有特定特權集的角色,並將這些角色分配給主體,[5] ReBAC (與 ABAC [6]類似) 允許定義更細粒度的權限。[5]例如,如果 ReBAC 系統定義了文檔(document)類型的資源,該資源可以允許一個操作編輯者(editor) ,如果系統包含了關係('alice', 'editor', 'document:budget') ,那麼主體Alice就可以編輯特定的資源document:budget 。 ReBAC 的缺點是,因為它允許更細粒度的訪問,這也就意味著應用程式可能需要執行更多的授權檢查。

ReBAC 系統採取默認拒絕的策略,並且可以在它們之上構建 RBAC 系統。[2]

歷史

ReBAC 這個術語由 Carrie E. Gates 於 2006 年提出。[3]

2019 年,谷歌發表了一篇論文,介紹了「桑給巴爾:谷歌的一致性全球授權系統」。[2]論文定義了一個系統,該系統由命名空間配置和表示為三元組的關係數據組成。

自該論文發表以來,已經有多家公司開發出了商業和開源的 ReBAC 系統產品。

參見

實現

參考

  1. ^ RDF 1.1 Primer: Triples. www.w3.org. [2022-07-07]. 
  2. ^ 2.0 2.1 2.2 2.3 Pang, Ruoming; Caceres, Ramon; Burrows, Mike; Chen, Zhifeng; Dave, Pratik; Germer, Nathan; Golynski, Alexander; Graney, Kevin; Kang, Nina; Kissner, Lea; Korn, Jeffrey L. Zanzibar: Google's Consistent, Global Authorization System. 2019 USENIX Annual Technical Conference (USENIX ATC '19) (Renton, WA). 2019. 
  3. ^ 3.0 3.1 Gates, Carrie. Access control requirements for web 2.0 security and privacy. IEEE Web. 2007, 2: 12–15. 
  4. ^ What is Relationship-Based Access Control. www.permit.io/blog/. 
  5. ^ 5.0 5.1 Authorization - OWASP Cheat Sheet Series. cheatsheetseries.owasp.org. [2022-06-21]. 
  6. ^ Hu, Vincent C.; Ferraiolo, David; Kuhn, Rick; Schnitzer, Adam; Sandlin, Kenneth; Miller, Robert; Scarfone, Karen. Guide to Attribute Based Access Control (ABAC) Definition and Considerations. NIST. January 2014 [2022-07-07]. doi:10.6028/nist.sp.800-162. 
  7. ^ SpiceDB GitHub. GitHub. 24 November 2021 [2023-11-16]. 
  8. ^ Topaz GitHub repo. GitHub. 24 October 2022. 

外部連結