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