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