



摘要:圖書館的文獻提供系統可以為用戶提供個性化的文獻服務,然而在實際應用中由于用戶種類復雜、服務類型多樣使得系統的個性化應用存在技術上的難度。本文針對RBAC授權系統的原理,結合文獻提供系統應用的特點,提出在文獻提供系統中使用RBAC訪問控制機制。從角色角度對用戶進行分類,解決了文獻提供系統個性化應用的問題。并結合實際應用描述了系統的設計。
關鍵詞:RBAC;文獻提供;授權機制;個性化服務
中圖分類號:G253 文獻標識碼:A 文章編號:1008-0821(2012)07-0043-03
隨著網絡技術不斷更新和數字化資源服務的不斷深化,圖書館的資源服務理念也正在發生深刻的變化,不再單純地追求資源的擁有。而是越來越重視資源的獲取能力,因此包括館際互借和文獻傳遞的文獻提供服務正越來越受到圖書館的重視和用戶的歡迎。文獻提供服務是通過共享館藏,以滿足個別用戶的個性化文獻資源需求,解決了有限資源購置經費和大量資源獲取需求之間的矛盾。
文獻提供系統無疑是配合館際互借和文獻傳遞提供服務而產生的。由于文獻提供服務涉及的文獻資源眾多,從期刊圖書到標準專利等特種文獻;用戶種類復雜,從個人讀者到各企事業單位;服務類型多樣,從返還式館際互借到原文傳遞;收費復雜,從委托費到掃描復印費,甚至還有郵寄費。在系統的應用中將會出現為用戶資源分配的問題,例如:同時個人用戶,對文獻提供所需的服務不同,且VIP用戶與普通用戶、新用戶之間所享有的服務也不同,如何針對不同用戶提供其所需的服務是文獻提供系統需要解決的問題。目前,國內各大圖書館或者文獻提供機構為了避開這個問題采用分開管理的辦法,使用兩個系統分別管理館際互借和文獻傳遞業務。然而筆者認為,兩個系統合并使用對提高文獻服務系統的功能具有一定的實踐意義,可以充分利用圖書館的文獻資源提供個性化服務。本文筆者將探討基于角色訪問控制(RBAC)授權機制在構建圖書館文獻提供系統中的應用。
1、基于角色的訪問控制
傳統的用戶訪問控制技術有自主訪問控制(DAC)和強制訪問控制技術(MAC)兩種,自主訪問控制技術通過授權可以控制用戶直接訪問資源,但存在著不能控制間接訪問的安全隱患;強制訪問控制技術可以對用戶進行分類,以保證用戶訪問資源的安全,但同類權限中缺乏控制,且修改起來也很復雜。由于這兩種訪問控制技術在用戶權限的設置方面都很繁瑣,因此,現在的企業信息系統大多采用基于角色訪問控制管理用戶的權限。
基于角色訪問控制RBAC(Role Base Access Ccmtml)的核心思想是角色劃分和訪問封裝。角色定義了一系列訪問權限,角色可以是一項工作,一種功能,一種權利或一種職責,它多對應一種特定的任務范疇。角色同用戶完全分開,對用戶授權時,通過分配角色使得用戶擁有一定的操作權限。角色簡化了訪問控制,用戶不是直接訪問系統資源,而是通過系統授予的角色進行訪問。系統根據角色的成員身份,有限制的進行資源的訪問,通過映射到系統邏輯中間層的角色,還可以限制不同角色身分的用戶對不同類和方法的訪問控制。圖1顯示了基于角色授權訪問模型。
從圖1可以看出,用戶A、B、D屬于角色1,系統在授權時不用考慮為每一個用戶獨立授權,而是將相應的角色賦予該用戶即可,不同的角色在系統邏輯中間層對應不用的受信任服務標記,每—個受信任服務標記在數據庫中又具有不同的訪問權限,這樣簡化了系統授權的過程和管理。
2、RBAC角色授權在文獻提供系統中有較好的應用前景
RBAC具有授權簡化管理、角色的可用性選擇、動態管理角色等優點,在用戶的職責發生變動時,只要更改用戶的角色即可達到用戶重新授權的目的。
在文獻提供服務中,用戶對圖書館電子資源的使用需求是不同的,有些僅需要館際互借服務,有些則對館際互借和文獻提供服務均有要求;在同一項業務中,不同的用戶又有不同的付費標準,如VIP用戶可以享受到文獻提供服務的更多優惠和便利,因此,文獻提供系統非常需要根據不同用戶進行訪問控制,從而達到最優的管理目的。
2.1 文獻提供系統RBAC訪問控制系統模型
文獻提供系統需要對登錄用戶進行有效管理并限制用戶的訪問權限,在系統設計中將RBAC訪問控制策略引入到文獻提供系統中,具體模型見圖2。
角色認證模塊包括訪問系統的實際用戶的屬性。在文獻提供系統中,角色可以根據共享策略而定義多種角色,他們可以是系統管理員、信息資源管理員、超級用戶(單位用戶)、普通用戶(VIP個人用戶)、一般用戶(不常使用或第一次使用)等多種角色。其中,超級用戶和普通用戶可以是預付費用戶,具有較高的使用權限,并享有一定的快速通道權。一個登錄資源管理系統的用戶,通過角色認證模塊分配角色,不同角色的用戶,決定了其對系統訪問的權限,同時也可顯示用戶的使用優先權。
2.2 訪問權限的動態分配
從圖1中我們可以知道,在RBAC授權機制中,角色所具有的操作功能是通過擁有數據操作權限來實現的,每一項數據訪問,都是由相應的權限完成。因此,角色具有什么權限,就能完成某些操作。權限決定著角色所能完成的任務。
然而,在實際應用中,我們發現同樣用戶。在權限的使用上也會存在差異。如同為文獻提供的VIP用戶,有些可能是預付款用戶,而有些是先使用文獻提供服務,年終統一結算的單位。并且隨著用戶使用系統的不斷變化,用戶的角色也會發生一定的變化,這種變化有時并不一定體現在角色的不同。因此,在為角色分配權限時,需要對使用權限進行細粒度的劃分,以滿足這種權限動態變化的需要。
權限的動態分配是指系統在設計完成后,系統管理員可以根據業務的需要,對角色進行權限的重新分配。同時也可以隨時的收回賦予操作人員的權限。這種機制可以保證系統應用過程中的靈活性,并降低系統使用維護的負擔。為系統的管理帶來極大的方便。
在系統設計過程中,將權限對資源庫的訪問進行細粒度的劃分,將權限的劃分具體到表級別、記錄級別甚至字段級別。在授權機制設計中,將權限機制細分到字段級授權,并根據操作需要,對數據處理進行功能劃分,然后將這些操作權限整理成功能清單,在系統實施時由系統管理員統一進行分配。當某一角色要增加操作權限時,由系統管理員在授權模塊中將相應的權限授予該角色即可,當不需要某操作權限時,也可通過該模塊進行權限的變更。這種分而治之的方法,將權限的分配同系統的功能完全分開,簡化了系統的管理。筆者將在本文系統設計部分論述此問題。
2.3 同圖書館系統的兼容
文獻提供系統是圖書館系統中的一個子系統,需要使用圖書館系統的資源。從系統工程的角度來說,它不是一個孤立的應用,為了確保能夠同圖書館系統的兼容,在權限訪問控制應用方面也需要進行考慮。
系統在設計時。對權限訪問控制應采用模塊化的設計,即系統是獨立與館際互借系統的子系統。這樣的目的是考慮系統同圖書館系統的兼容性問題。系統的設計如圖3所示。
將權限獨立于系統功能的設計方法。權限分配模塊是完全獨立與系統的,根據軟件復用技術,該授權模塊也可以應用到其它的系統中去,這樣就方便了系統的功能擴展問題。
3、RBAC系統的設計
網絡環境下,用戶通過網絡登錄系統,系統將對登錄的用戶進行管理,根據授權機制,為每一個用戶分配一定的角色,不同的角色即對應著不同使用權限,也就具有不同的操作功能。這樣可實現系統和角色在實際應用中的資源對應關系。
為了實現角色控制技術在系統中的應用,系統設計中采用用戶同角色映射的方式。即,當用戶通過網絡登錄到系統后,系統根據不同的用戶——角色對應表,實現用戶權限的分配。圖4顯示了用戶和角色的映射關系。
用戶登錄后,系統會根據角色一權限對照表確定用戶所具有的訪問權限,圖5為角色——權限對照表。
為了更細致的區分角色的功能,即將角色的功能細化到數據表字段項,因此在實際使用中,權限采用7位字母與數字組合,第一位為表的名稱;第二位代表對表的操作權限,y為可以操作,n為禁止操作;第三位表明對表擁有全部字段處理權限還是部分操作權限,1為全部操作,2為部分操作,3為部分操作(即一般用戶的常規應用。在此處,為了簡化,暫且設定3級);后4位為1、2、3、4的數字。分別對應具有對一個數據表記錄操作使用時一般設定為具有添加、刪除、修改、瀏覽4項基本功能,0表示不具有相應的功能。
表的行為角色編碼,列為權限編碼,交叉點為某一角色對應的某一權限功能。如圖5所示,町11234表明01角色對表a具有全字段的添加、刪除、修改、瀏覽功能,而by/1234則表明其對b表具有部分操作權限。從表可以看出,系統管理員能夠方便的設置角色所具有的各種權限。也可根據不同的情況,動態的修改角色對一張表的具體字段的使用權限。
4、結論
隨著信息技術應用的普及和文獻傳遞的需要,對于利用網絡進行文獻提供的要求越來越高?;赗BAC授權機制的文獻提供系統,可以更好的管理大量用戶,并針對用戶的個性化需求進行相應的服務,有效提高了管理的效率。本文提出了解決方案,希望能促進了文獻提供系統的應用和發展。