访问控制模型ACL和RBAC
2019獨角獸企業重金招聘Python工程師標準>>>
1.ACL
ACL是最早也是最基本的一種訪問控制機制,它的原理非常簡單:每一項資源,都配有一個列表,這個列表記錄的就是哪些用戶可以對這項資源執行CRUD中的那些操作。當系統試圖訪問這項資源時,會首先檢查這個列表中是否有關于當前用戶的訪問權限,從而確定當前用戶可否執行相應的操作??偟脕碚f,ACL是一種面向資源的訪問控制模型,它的機制是圍繞“資源”展開的。
The relative simplicity of ACLs means they do not need much underlying technological infrastructure to work.由于ACL的簡單性,使得它幾乎不需要任何基礎設施就可以完成訪問控制。但同時它的缺點也是很明顯的,由于需要維護大量的訪問權限列表,ACL在性能上有明顯的缺陷。另外,對于擁有大量用戶與眾多資源的應用,管理訪問控制列表本身就變成非常繁重的工作。
2.基于角色的訪問控制RBAC
RBAC是把用戶按角色進行歸類,通過用戶的角色來確定用戶能否針對某項資源進行某項操作。RBAC相對于ACL最大的優勢就是它簡化了用戶與權限的管理,通過對用戶進行分類,使得角色與權限關聯起來,而用戶與權限變成了間接關聯。RBAC模型使得訪問控制,特別是對用戶的授權管理變得非常簡單和易于維護,因此有廣泛的應用。但是它也有自身的缺點,那就是由于權限是以角色為載體分配的,如果某一角色下的個別用戶需要進行特別的權限定制,如同加入一些其他角色的小部分權限或去除當前角色的一些權限時,RBAC就無能為力了,因為RBAC對權限的分配是角色為單位的。
除兩上述兩種主要的模型之外,還有包括:基于屬性的訪問控制ABAC和基于策略的訪問控制PBAC等等,因為應用不是很廣泛,就不做介紹了。
轉載于:https://my.oschina.net/pangzhuzhu/blog/327027
總結
以上是生活随笔為你收集整理的访问控制模型ACL和RBAC的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何设制 select 不可编辑 只读
- 下一篇: (转)深入理解最强桌面地图控件GMAP.