摘要本文著力分析系統的權限管理簡化問題,利用基于角色的訪問控制(RBAC)技術的基本思想,引入“角色”概念,根據不同用戶定義不同角色,并分配相應的權限,探討RBAC應用模型在教務系統中的應用。
關鍵詞RBAC 角色 權限
中圖分類號:G647文獻標識碼:A
傳統的訪問控制機制包括自主訪問控制和強制訪問控制方法。傳統的訪問控制機制是管理系統中所有用戶權限,權限的可操作性較差,授權方式的可管理性較弱,對信息存取權限的管理比較復雜和繁重。基于角色的訪問控制(RBAC),引入“角色”概念,降低了授權管理的復雜性,提高數據信息處理能力,滿足了高校教務系統權限管理的需要。
1 基于角色的訪問控制(RBAC)
1.1 RBAC的基本思想
RBAC引入角色概念,將用戶劃分成不同的角色,給每個角色授予相應的權限,通過對角色的授權來控制用戶對系統資源的訪問權限。將角色和權限對應起來,把用戶與其訪問權限在邏輯上直接相關聯。在用戶的職能崗位發生變化時,只需改變他的角色就可以實現權限的分配,使得權限管理簡單靈活。當組織機構的職能性發生改變時,系統只需對角色重新授權或收回其中某些權限就可以完成系統權限的調配。因此,RBAC 在權限管理中很強的靈活性和操作性。
1.2 RBAC96模型的缺陷
(1)用戶角色分配負擔大。若有N個用戶,每個用戶需分配相同的Z個角色,那么用戶角色分配操作就需要進行Z*N次,由于一般系統的實際用戶數量十分龐大,所以重復操作多,效率低。(2)角色權限分配會產生一些意外的安全漏洞。在系統運行時,允許不同的用戶分布在不同的工作站,他們對公用數據庫進行訪問是通過共享程序來實現的。RBAC96模型的訪問數據庫的權限是在應用程序層直接分配給角色,角色對數據庫資源操縱是通過訪問數據庫的權限實現的。系統管理員在系統角色的訪問權限發生變化時,很難準確維護,容易出現安全漏洞。
1.3 改進的RBAC96模型
針對RBAC96模型的不足,我們提出如圖1-1所示RBAC96改進模型。改進后:(1)首先我們提出在用戶與角色之間添加用戶組機制,將具有相同角色的用戶的授權壓縮為對同一用戶組進行授權,從而將用戶角色分配操作由Z*N次縮減為N 次,當某一用戶的職位有變更時,只需將其從原在的組刪除并添加到新組即可,從而大大簡化了授權管理的復雜性和工作量。(2)將應用程序層系統功能項的操作權限分配給角色,角色再通過操作系統的功能項來操縱數據庫資源。這個功能的優點是在角色的權限發生變更時,不需要直接操作與數據庫相關的具體數據資源,而只需改變角色所對應的系統功能即可,這樣使管理者與具體的數據資源相分離,從而減少管理者的工作量。
圖1-1RBAC96改進模型
2 基于角色訪問控制在教務系統中應用的基本思想
2.1 權限和角色定義
權限是指主體對客體(即受保護的資源)的操作。因此客體指的是各個功能模塊,權限指的是用戶對各個功能模塊的可操作權力,包括訪問創建、瀏覽、查詢、修改、添加及刪除等。角色對應于企業組織結構中一定的職能崗位,代表特定的權限,即用戶在特定語境中的狀態和行為的抽象,反映用戶的職責,被授予一定角色的用戶便具有相應的權限,其作用是作為用戶與權限之間的橋梁,將用戶和其相應的權限聯系起來。
2.2 基本思想
以山東教育學院教務管理系統的權限管理為例:(1)用戶權限管理中,引入了組織結構的理念,強調學校整體權限管理模型的建立。通過分層的權限體系,構建與學校組織結構配套的權限管理模型。在模型中,充分把認識到權限是全局性的概念,把系統分為多個子系統,每個子系統具有多個功能模塊,對于每個模塊都有一個權限管理集。把訪問的控制權交給多個管理員,使得管理多元化,降低了授權管理工作的復雜性。每個部門管理員可以管理一個相對獨立的模塊,他的權限大小都受到相應管理模塊的制約。權限的授予遵循最小特權原則,即用戶所擁有的權利應不能超過執行工作時所需的權限,也就是只將角色需要執行的操作授權給角色。(2)在角色分配中,采用把權限的控制分為模塊級和數據級的方法,若角色擁有模塊級權限,則可以訪問瀏覽模塊;若擁有數據級權限,則可以對模塊數據進行修改及維護,如瀏覽、查詢、添加、刪除等操作。參照分層的權限體系,依據職能等級、崗位層次來管理用戶訪問系統,將整個系統的角色分為超級用戶、模塊管理員、領導、教師、學生五種角色:一是超級用戶,擁有最高的權限,負責角色劃分、權限分配、數據維護和操作;二是部門系統管理員,擁有某個模塊管理權限,必須在超級用戶或系統管理員用戶同意下才能有權對相關模塊進行操作,所有權限都要經校級用戶的分配;三是領導,擁有瀏覽各個模塊的權限,但沒有操作權限;四是教師和學生,擁有超級用戶給分發的用戶名及登錄密碼,可以通過web登錄系統進行訪問。
3 權限管理實現
系統分為兩級授權,一級是校級系統管理員,二級是校級模塊系統管理員和系級模塊管理員。校級管理員可以根據相應角色來分配相應的權限,這種權限的分配實時的,在系統需要維護時,為相應模塊放開權限,使模塊管理員能夠
3.1 系統應用框架體系結構
系統采用三層架構模式:一為用戶表現層,主要用來與用戶進行交互,是用戶直接也是唯一面對的層面;二為表現層,通過ASP.NET的Web Forms來實現;三為業務邏輯層,主要是用來處理來自數據訪問層和用戶表示層的數據,是這兩個層的橋梁,能夠使得用戶的操作和數據處理完全隔離。
3.2 系統的數據庫設計
權限管理系統采用基于C/S結構的設計,主要使用ASP.NET 技術,并將數據庫ADO.NET技術結合運用于ASP 頁面與ORACLE 數據庫的靈活連接。對數據庫主要表結構及其主要字段設計了以下7 個數據庫管理:一是角色信息表,用于保存系統角色信息,包括角色名、角色標識等信息;二是訪問權限信息表,用于保存訪問權限信息,包括訪問權限名稱;三是用戶信息表,用于保存用戶的基本信息,包括用戶登錄名、密碼等信息;四是訪問資源信息表,用于保存訪問資源信息,包括訪問資源名稱、類型、訪問URL等信息;五是用戶- 角色信息表,保存用戶和角色的多對多關系,包括用戶ID、角色ID 等信息;六是角色- 權限信息,保存角色和權限的多對多關系,包括角色ID、權限ID 等信息;七是權限- 資源信息表,保存權限和資源的多對多關系,包括權限ID、訪問資源ID 等信息。
3.3 系統實現的功能
主要有角色和授權的管理,用戶管理和身份認證,數據庫管理等功能。(1)角色和授權的管理。由超級用戶根據實際需要:添加、刪除、修改角色,并將角色分配給用戶;給用分配相應訪問權限。(2)用戶管理和身份認證。由校級管理員負責系統管理員和部門管理員用戶的增加、刪除和修改等,系統管理員可以對其他用戶增加、刪除和修改等;用戶在訪問系統時,必須經過身份認證,只有合法的用戶才能訪問系統,獲得與角色相對應的操作權限。(3)數據庫管理。用于存放用戶集、角色集、模塊集、用戶所屬的角色及權限關系等信息,是管理系統的核心,由超級用戶及系統管理員分權限分工管理。
4 結束語
本文分析基于角色的訪問控制思想,運用改進的RBAC模型,在限管理中引入了組織結構的理念,強調學校整體權限管理模型的建立,通過分層的權限體系,全面建構與學校組織結構完全符合的權限管理模型,實現按照等級、層次管理用戶對系統的訪問,并支持不同用戶對系統進行“按需”訪問。
參考文獻
[1]薛勝軍,顏昌隆.分級 RBAC模型及其在多校區管理系統中的應用[J].計算機與數字工程,2008(5):64~66.
[2]靳泰戈,余航,馮斌,周先濤.一種基于角色的訪問控制模型及其實現[J].計算機應用研究,2005(12):138~140.
[3]許峰,賴海光,黃皓,謝立.面向服務的角色訪問控制技術研究[J].計算機學報,2005(4):686~693.
[4]何斌,顧健.基于角色訪問控制的權限管理系統[J].計算機工程,2004.12(30 卷增刊):326~328.