1. 程式人生 > >RBAC許可權模型學習總結

RBAC許可權模型學習總結

RBAC(Role-Based Access Control),基於角色的許可權訪問控制。

RBAC支援公認的安全原則:最小特權原則、責任分離原則和資料抽象原則。

最小特權原則得到支援,是因為在RBAC模型中可以通過限制分配給角色許可權的多少和大小來實現,分配給與某使用者對應的角色的許可權只要不超過該使用者完成其任務的需要就可以了。

責任分離原則的實現,是因為在RBAC模型中可以通過在完成敏感任務過程中分配兩個責任上互相約束的兩個角色來實現,例如在清查賬目時,只需要設定財務管理員和會計兩個角色參加就可以了。

資料抽象原則是藉助於抽象許可權這樣的概念實現的,如在賬目管理活動中,可以使用信用、借方等抽象許可權,而不是使用作業系統提供的讀、寫、執行等具體的許可權。但RBAC並不強迫實現這些原則,安全管理員可以允許配置RBAC模型使它不支援這些原則。因此,RBAC支援資料抽象的程度與RBAC模型的實現細節有關。

RBAC模型分為4種:

RBAC0:最基本的使用者-角色-許可權模型

一般情況下,使用者與角色,角色與許可權都是多對多關係,即一個使用者可以對應多個角色,一個角色可以分配給多個使用者,一個角色具有多個許可權。

RBAC1:在RBAC0的基礎上加入了子角色,引入了繼承,子角色可以繼承父角色的所有許可權。

RBAC2:增加了對角色的一些限制:

       角色互斥:不能為同一使用者分配兩個互斥的角色;

       基數約束:某一角色對應的使用者數量受限,分配得到該角色的使用者數不能超過某個特定值,比如公司的副總不能超過多少人;

       先決條件角色:要想獲得高級別許可權,首先得擁有低級別的許可權;

       執行時互斥:一個使用者具有多個角色時,某些角色不可在執行過程中同時啟用。

RBAC3:包含了RBAC1和RBAC2,綜合了RBAC0、RBAC1、RBAC2的特點。

一個系統的許可權大概可分為這幾種:

功能許可權:指系統的模組、頁面、按鈕、文字、元素等根據使用者所具有的許可權決定是否進行顯示。

資料許可權:指在頁面中要顯示的資料,針對不同使用者顯示的資料不同,比如公司的不同部門所能檢視的檔案列表不同。

操作許可權:使用者在系統中進行的所有動作、互動。

關於使用者組:使用者組是在使用者量增多,許可權維護較為繁瑣時加入的概念。在系統中,可以為角色分配許可權,再對具體的使用者劃分角色。也可以將具有同樣許可權的使用者分配到同一使用者組中,再對使用者組所具有的許可權進行統一維護,這樣大大減少了許可權維護人員的操作,比如按組織機構對應的部門來劃分使用者組,一個員工從A部門轉到B部門,此時只需要將該員工的使用者組從A變成B就完成了。

許可權限制:下級角色的許可權只能從上級角色的許可權中進行配置,不能超過上級許可權。

在建立角色的時候為角色分配許可權,在建立使用者的同時為使用者分配角色;

在建立使用者組的時候為使用者組配置許可權,再為使用者組新增使用者。