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