RBAC----基於角色的訪問權限控制


RBAC是什么?

基於角色的權限訪問控制(Role-Based Access Control) 作為傳統訪問控制(自主訪問、強制訪問)的有前景的代替 受到了廣泛的關注。

在RBAC中,權限與角色相關聯,用戶通過成為適當角色的成員而得到這些角色的權限。極大地簡化了權限的管理。

 

RBAC支持三個著名的安全原則:最小權限原則、責任分離原則、數據抽象原則

(1)因為RBAC可以將用戶的角色配置成用戶完成任務所需的最小的權限集。

(2)可以通過調用相互獨立互斥的角色來共同完成敏感的任務。

(3)通過權限的抽象來體現數據抽象原則。eg:財務操作借款、存款等抽象權限,而不實際操作 系統提供的讀、寫、執行權限。

 

RBAC的關注點在於 Role和User、Permission的關系。

  成為User assignment(UA)和 permission assignment(PA)關系的左右兩邊都是Many-to-Many關系。即多對多關系。

session在RBAC中是比較隱晦的一個元素。每一個session是一個映射,一個用戶到多個role的映射。當一個用戶激活他所有角色的一個子集的時候,建立一個session。每個session和單個的user關聯,並且每個user可以關聯到一個或者多個session。

 

Group概念

  在RBAC系統中,User實際上在扮演角色(Role),可以用Actor來取代User。同時RBAC引入了Group概念。Group可以看做Actor。User就對應到具體的一個人。引入的Group概念,可以解決多人相同角色,還可以解決組織機構的授權問題。(RBAC中的Group與GBAC中的Group不同:GBAC多用於操作系統中,他的Group直接和權限相關聯,實際上RBAC也借鑒了GBAC的一些概念。)

 

RBAC認為授權實際就是who,what,how三者之間的關系

  即who對what進行how的操作。

  Who,權限的擁用者或主體(如Principal、User、Group、Role、Actor等等);

  what,權限針對的對象或資源(Resource、Class) ;

  How,具體的權限(Privilege,正向授權與負向授權)。

  即我們通過給角色授權,然后將附有權利的角色施加到某個用戶身上,這樣用戶就可以實施相應的權利了。通過中間角色的身份,是權限管理更加靈活:角色的權利可以靈活改變,用戶的角色的身份可以隨着場所的不同而發生改變等。這樣這套RBAC就幾乎可以運用到所有的權限管理的模塊上了。

RBAC模型分類

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM