[摘 要]角色訪問控制(Role-Based Access Control,RBAC)技術是近年來計算機網絡訪問控制研究的熱點技術之一。將角色訪問控制技術應用于圖書館的圖書流通系統中,能夠降低授權管理的復雜度,提高系統的安全性。
[關鍵詞]RBAC;訪問控制;圖書流通系統;角色
[中圖分類號]G250.71 [文獻標識碼]B [文章編號]1008-0821(2010)02-0102-02
The Application of Role-based Access Control Technology
in Library Books Circulation SystemZhang Haiou
(Liaoning Provincial Library,Shenyang 110015,China)
[Abstract]Role-based access control is one of the hot technologies in network access control research in recent years.Using role-based access control technology in library books circulation system could reduce the complexity of authorization,and improve the security of the system.
[Keywords]RBAC;access control;books circulation system;role
隨著計算機技術、網絡技術在圖書館的廣泛應用,圖書館管理所面臨的信息環境和服務模式發生了深刻的變化。在現代網絡化的圖書館中,圖書流通系統是圖書館管理的核心部分。在這樣一個開放的信息傳播與交流系統中,我們經常需要面對非法用戶的入侵和授權管理等一系列復雜的問題,這就需要研究探索行之有效的控制手段,以提高系統的安全性能,有效拒絕非法用戶的入侵。基于角色的訪問控制技術在信息安全領域已得到廣泛應用。實踐證明,這一技術不僅能夠提高系統的安全性,有效地拒絕未經授權的非法用戶的入侵,而且可以大大增強計算機管理系統的訪問控制能力,降低授權管理的復雜度。鑒于此,筆者試圖將基于角色的訪問控制技術應用于圖書館的圖書流通系統,以期有效解決圖書館網絡管理系統中用戶非法入侵和授權管理的一系列復雜的難題。
1 角色訪問控制
角色訪問控制(Role-Based Access Control,RBAC)是在自主訪問控制(Discretionary Access Control)和強制訪問控制(Mandatory Access Control)的基礎之上發展起來的。其具體的工作原理如圖1所示。角色訪問控制的實質就是將對用戶的授權分成兩部分,用角色來充當用戶行使權限的橋梁。一個用戶可以被賦予若干角色,一個角色也可以被賦予給若干個具體用戶,用戶和角色之間是多對多的關系,用戶添加到角色中,就自動繼承了角色的權限。同樣,一個角色可以具有多項權限,一項權限也可被賦予給多個不同的角色,角色和權限之間也是多對多的關系。這樣,用戶與角色之間以及角色與權限之間就形成了兩個多對多的關系。
圖1 RBAC的基本原理 其訪問機制為:用戶承擔不同的角色——不同的角色執行不同的操作——不同的操作權限規定了用戶不同的訪問資源的方式。在這個控制系統中,角色之間可以有層次關系,一個角色可以擁有它下層角色的操作權限。這樣在一定程度上可簡化授權的操作。角色訪問控制使訪問控制適應性更強,管理者可以通過調節用戶所屬的角色、角色相關的操作、角色之間的層次關系等,靈活地控制用戶訪問資源的方式。
2 角色訪問控制應用于圖書流通系統的方案分析
2.1 角色訪問權限控制的設計
值得強調的是,角色訪問控制的所有權限控制與實現歸根結底都是在圖書流通系統原有的各功能模塊下進行設計。當用戶進行相應的操作時,系統應該首先判斷出該用戶是否為合法的授權用戶。中間一系列過程對用戶來說是透明的,其中所涉及的技術正是本課題需要解決的重點和難點。
在基于角色的權限控制設計中,需要賦予管理系統原有的每一種子功能一個惟一的編號(權限代號)。當用戶登錄系統時,系統首先對用戶的身份進行驗證,判斷該用戶的身份是否合法。在通過身份認證后,系統根據用戶身份去獲取該用戶的角色,再由角色去獲取相應的權限代號,這一組編號經過加密后存儲于Cookie中,至此一個用戶的所有的權限就已經確定了;當用戶進行訪問操作時,系統自動到Cookie中去查找權限字符串(即功能編號的集合)來確定用戶的訪問權限。
2.2 用戶、角色、權限的管理分配
2.2.1 用戶管理與角色分配
用戶管理與角色管理有相似之處,但是用戶信息對于角色而言又有一定的獨立性。用戶信息既可以作為單獨的與權限無關的信息進行訪問,又可以作為權限控制的一部分來實現基于角色的訪問控制。用戶管理主要是定義用戶信息表,用來存貯用戶的基本信息;角色分配主要是為定義好的用戶分配角色,其實質就是把用戶和角色的關聯信息存入用戶——角色關系表中。
2.2.2 角色管理與權限分配
角色管理主要是對角色的定義、刪除和修改。系統允許用戶根據自己的需要(崗位、職權和責任)定義相應的角色。圖書流通系統大體分為5類角色:讀者、借書員、還書員、系統管理員和系統安全員。當定義完一個角色后,需要為該角色分配相應的權限。這個過程是通過對角色——權限關系表的修改來實現的,即通過添加和刪除關系表的相關記錄來實現為角色添加和刪除相應的權限。當一個角色被刪除后,與之相關的關系表中的信息均應刪除,以保證數據的一致性。
期角色訪問控制技術在圖書流通系統的應用Feb.,2010Vol.30 No.23 角色訪問控制在圖書流通系統中的實現
3.1 系統設計原則
3.1.1 最小權限原則
這是訪問控制中一個很重要的策略原則,即指每個用戶所擁有的權限不應該超過完成工作任務所需要的權限。在設計系統時要盡可能地將權限細化。
3.1.2 職責分離原則
這是要求系統中不同的職責盡量由不同的用戶承擔,避免權限過度集中。職責分離有靜態和動態兩種實現方式。
3.1.3 一對一原則
規定每個用戶只能有惟一的用戶名。如果一個用戶擁有多個用戶名,則系統管理員無法知道該用戶到底有多少權限,造成管理的混亂,很難保證最小權限原則和職責分離原則。
3.2 系統數據庫設計
訪問控制系統主要由用戶表、角色表、權限表、用戶——角色關系表、角色——權限關系表、角色層次關系表構成。
①用戶表(YHYHB):主要保存系統的所有登錄號,包括用戶的真實信息,如姓名、性別、部門等。
②角色表(YHRole):主要保存所有的角色類型。根據流通部工作的特點,可以將所有用戶劃分為5種角色,分別為:讀者,可檢索、查詢、預約;借書員,可借書、查詢、續借、掛失等;還書員,可還書、查詢、掛失、丟賠處理等;系統管理員,可添加、修改、刪除部門內部數據等;系統安全員。前3種角色為普通角色,分別賦予讀者和借書、還書崗位的工作人員;管理角色,只能賦予管理人員。系統管理員可以根據實際需要獨立添加、刪除、修改普通角色,并協同系統安全員對用戶——角色關系表和權限——角色關系表等適時進行維護。
③權限表(YHPurview):保存所有的系統權限以及權限之間的層次關系,授權時以樹型結構顯示所有權限。系統中的權限劃分為查詢、借書、還書、修改、添加、刪除等多種。權限定義中并不體現操作的對象,而在進行操作時,角色所擁有的權限要與部門、角色等信息相結合才能確定用戶是否可進行操作。
④用戶——角色關系表(YHUserRole):保存用戶和角色之間的關聯信息。
⑤角色——權限關系表(YHRolePurview):保存角色和權限之間的連接關系。
⑥角色層次關系表(YHSuccessive):保存角色之間的繼承關系。
各表之間的關系如圖2所示。
3.3 角色劃分規則定義
規則按部門和角色定義。劃分規則表定義為:劃分規則表(規則號,劃分對象表,角色編號,作用域,劃分依據)。其中,“作用域”字段表示角色可以訪問的數據項,“”表示所有數據項;“劃分依據”字段包括部門號、角色編號,兩種依據可以組合使用。在用戶發出訪問請求后,權限驗證模塊根據用戶的角色和部門號在劃分規則表中查詢與其擁有角色相符合的劃分規則,根據規則表中的“作用域”字段和“劃分依據”字段建立視圖實現角色劃分。
3.4 權限驗證流程
當用戶請求訪問系統中某種資源時,權限驗證模塊首先獲得該用戶當前激活的角色,確定其訪問權限;然后根據其角色和所屬部門查詢角色的劃分規則圖2 數據庫設計
表,找到對應記錄的“作用域”字段和“劃分依據”字段對數據表進行劃分,返回數據。4 結束語
綜上所述,將角色訪問控制機制應用于圖書流通管理系統,可以充分發揮角色訪問控制技術的優越性,進一步完善與健全圖書館圖書流通系統的安全機制,強化了圖書流通管理系統的功能,使圖書館圖書流通工作中的一切都在掌控之間,一些復雜的棘手的問題從此變得極其簡單化,極大地減輕了授權管理的負擔,必將為圖書館的日常管理和讀者服務工作帶來客觀的效益。
參考文獻
[1]蘇彬.網絡安全原理與應用[M].北京:人民郵電出版社,2005:86-96.
[2]Ferraiolo,D.and Kuhn,R.Role Based Access Controls.In15th NCSC National Computer Security Conference,1992:554-563.
[3]Nyanchama,M.and Osborn,S.Access Ringhts Administration in Role-Based Security Systems.In IFIP WGll.3 Database Securiy,1994:37-56.
[4]David F.Fwrraiolo,D.Richard Kuhn and Ramaswanmy Chandramouli.Role-Based Access Control.Artech House,2003,ISBN:1-58053-370-1.
[5]徐寧.基于角色的訪問控制技術在數字圖書館的應用[J].情報雜志,2007,(11):62-64.