陳小磊,周軍,杜欽波,張娟,段先斐
測井數據庫統一認證及權限管理系統設計與開發
陳小磊,周軍,杜欽波,張娟,段先斐
隨著企業內部對多數據庫系統的整合,迫切需要統一的用戶認證及權限管理系統。研究了基于角色的訪問控制RBAC(Role-Based Access Control)模型和輕量級目錄訪問協議LDAP(Lightweight Directory Access Protocol),在此基礎上,設計并實現了一套統一、安全、可擴展且高效的統一認證及權限管理系統,并實際應用達到了預期效果。
RBAC;訪問控制;LDAP;認證;權限管理系統
近年來, 隨著數據庫在測井行業發揮越來越重要的作用[1],測井公司內部建設了各種數據庫系統,使得用戶管理越來越復雜.用戶進入不同系統時,都要提交自己的身份標識來通過系統的認證.用戶面對多個應用系統需要輸入不同的用戶名和密碼[2],不僅對用戶造成不便,而且增加了管理和維護成本,也增加了安全隱患。因此,當企業整合各個數據庫系統時,統一的身份認證及權限管理成為主要矛盾之一,迫切需要一個統一的,安全的,易于管理的,有良好的可移植性和擴展性的統一認證及權限管理系統,以實現對用戶權限的訪問控制,防止非法用戶的侵入或者因合法用戶的不慎操作所造成的破壞,保障本地數據資源的安全。
基于角色的訪問控制模型 RBAC(Role-Based Access Control)作為一種較為成熟且有效的訪問控制技術極大地簡化了權限的管理,已成為當前應用最為廣泛的訪問控制模型。
近幾年,隨著 LDAP技術的興起和應用領域的不斷擴展,目錄服務技術成為許多新型技術實現信息存儲、管理和查詢的首選方案。
本文主要研究的是將給予角色的訪問控制和目錄服務運用到系統中來,構建一個安全的資源訪問系統。該方案只有經過身份認證的用戶才能訪問系統,以及只有經過授予一定權限的用戶才能使用系統資源。該系統提供統一接口實現用戶認證和控制,使用戶認證和訪問控制更加安全并且高效。
1.1 輕量目錄服務協議(LDAP)
LDAP(Lightweight Directory Access Control,輕量級目錄訪問協議)解決的是信息存儲和訪問問題。普通的關系型數據庫與 LDAP 相比,數據庫需要不斷地進行數據類型的驗證和事物完整性的確認,并且前端用戶對數據的控制不夠靈活,用戶權限一般只能是設置在表一級而不是記錄一級的。目錄服務的推出解決的是數據庫中的上述問題。目錄是指具有描述性的基于屬性的記錄集合,不提供關系數據庫中普遍包含的大量的函數,它主要提供面向數據的查詢服務(查詢和修改操作比一般大于10:1),不提供事務的回滾機制,它的數據修改使用簡單的鎖定機制實現,它的目標是快速響應大容量查詢并且提供多目錄服務器的信息復制功能。
同時,LDAP 協議是跨平臺的協議,是開放的 Internet標準[3],因此得到了業界的廣泛認可。
1.2 基于角色的訪問控制技術RBAC
基于角色的訪問控制技術(RBAC)是由美國國家標準化和技術委員會(NIST)的Ferraiolo等人在20世紀90年代初提出來的[4],引入了角色將用戶和訪問權限分開。首先根據需要為用戶設置角色,并對角色授予相應的訪問權限,然后再為用戶分配角色,并通過會話激活角色。RBAC 的基本模型如圖1所示:

圖1 基于角色的訪問控制模型RBAC
模型是由用戶、角色、權限和會話四個部分組成的。用戶是信息系統的使用者,可以是人、計算機或者網絡。角色對應于組織結構中一定的職能崗位,也可以是只具有某種邏輯意義的崗位,一般是權限的集合。權限是基本操作的集合,即用戶對系統中的對象進行特定訪問的權限。UA,即用戶分配,指根據需要給用戶賦予相應的角色,體現了用戶和角色之間多對多的關系。PA,即權限分配,指指定某種角色訪問數據資源的權限,體現了角色和權限之間多對多的關系。角色之間可以通過RH(角色繼承)來完成權限的重用[5]。
2.1 設計的考慮
1)通過對測井數據庫操作進行分析,發現數據庫數據一般都是歸檔數據,寫操作少,更新不頻繁,讀操作比較頻繁,同時為了實現對數據的精細控制,把測井數據從工區到井等邏輯樹結構放到LDAP中。
2)為了方便用戶的管理,增加部門到LDAP中,部門反映企業實際組織結構。
3)系統增加接口層,封裝訪問LDAP和數據庫的操作,以便對上層屏蔽掉這些底層操作,使得開發者有更多的精力關注系統業務邏輯的實現,而不必花費太多的時間在訪問不
同的數據庫上下功夫[6]。
2.2 統一認證及權限管理架構設計系統架構如圖2所示:

圖 2 系統架構
統一認證及權限管理系統位于應用中心和測井數據庫之間。
應用中心:各種業務邏輯處理模塊,上層支持Web客戶端和桌面客戶端,支持計算機、PDA、手機等終端。
統一認證及權限管理系統:提供統一接口實現用戶認證和控制,只有經過身份認證的用戶才能訪問系統,以及只有經過授予一定權限的用戶才能使用系統資源。
測井數據庫:系統的各種底層數據庫,存儲實體數據。
2.3 數據訪問流程
系統訪問過程的序列圖如圖3所示:

圖 3 數據訪問流程
1) 用戶發送請求;
2) 權限驗證,用戶所訪問數據需要根據用戶的角色進行權限判斷,業務邏輯通過LDAP接口查詢判斷用戶是否有操作請求數據權限;
3) LDAP接口根據具體的查詢請求訪問LDAP 服務器;
4) LDAP 服務器把查詢結果返回給 LDAP接口,LDAP接口權限驗證通過;
5) LDAP接口把數據請求發給數據庫接口;
6) 數據庫服務器把數據操作結果返回給數據庫接口。
7) 數據庫接口把LDAP接口請求結果返回LDAP接口。
8) 8.業務邏輯根據LDAP結果進行相應操作。
9) 業務邏輯執行完畢,執行結果通知用戶。
2.4 LDAP目錄結構設計
如圖4所示:

圖 4 LDAP目錄設計
Users
Users 目錄用于管理所有的用戶,保存用戶的基本信息。Groups
Groups 目錄用戶管理系統中所有的邏輯組。用戶組可以包含其他的用戶組,這樣可以按照各部門的地域或組織劃分來設置各個組。
Resources
Resources 目錄存儲系統中的測井數據信息,包括區塊、井等信息。
Roles
Roles 目錄存儲系統中的角色信息。
Permits
Permits 目錄存儲系統中的權限信息。目前共定義了讀、寫、刪、增、列表等五種數據操作權限,針對軟件模塊定義了一種權限:執行。為了便于管理,權限按照應用程序的類別在各個子類目錄下存放。
3.1 LDAP信息模型定義
LDAP 目錄中的信息是按照樹型結構組織的, 具體信息存儲在條目(entry) 的數據結構中。條目包含了多個屬性,每個屬性由一個類型和多個值構成。每個條目使用一個識別名(DN)標識,每個條目 DN 的各個元素稱為相對識別名(RDN)。每個條目創建時,必須定義所屬的對象類,必須提供對象類中的必選屬性類型的屬性值,在 LDAP 中一個屬性類型可以對應多個值。
LDAP目錄樹(圖)的一個LDAP 數據交換格式(LDIF—— LDAP data interchange format) 的文件示例如下:


3.3 應用
目前,該系統已經在中國石油海外測井解釋數據庫中應用到許多國家和地區如圖5所示:

圖 5 統一認證及權限管理應用
效果良好。
統一認證及權限管理系統把基于角色的訪問控制技術RBAC與輕量級目錄訪問協議LDAP結合起來作為權限管理的基礎,實現了多數據庫系統用戶認證及權限的集中管理,具有統一、安全、跨平臺、可擴展且高效等特點,為數據資源訪問提供了有效的訪問控制,保護了數據資源的安全。統一認證及權限管理系統已經在測井數據庫中實際應用,效果良好。
[1] 陳維東.東勝公司測井數據庫建設過程中存在的問題及解決方法[J], 中國石油大學勝利學院學報, 2010年09期.
[2] 賀玉明,李晉宏,唐輝.LDAP在數字校園統一身份認證系統中的應用[J], 計算機技術與發展, 2011年05期.
[3] 許小紅,石永革,鄭開新.基于 LDAP的統一用戶管理系統研究與實現[J], 計算機與現代化, 2008年05期.
[4] FERRAIOLO D, KUHN R. Role-based access control[A].Proceedings of the 15th National Computer Security Conference[C].Baltimore, MD, 1992.554-563.
[5] 來競,郎昕培.基于角色和目錄服務的細粒度訪問控制方法[J],計算機與數字工程, 34:8-11, Sep.2006.
[6] 姜元剛,徐群洲. VSP測井數據庫系統研發與效果分析[J], 石油工業計算機應用, 2011年02期.
The Design and Development of Unification Authentication and Permission Management System of Logging Database
Chen Xiaolei, Zhou Jun, Du Qinbo, Zhang Juan, Duan Xianfei
(China Petroleum Logging Co., Ltd., Xi’an 710077, China)
Following the integration of many database systems in enterprise, the unified user authentication and permission management system is needed urgently. This paper studies Role-Based Access Control model and Lightweight Directory Access Protocol. The paper puts forward a unified, safe, extensive and effective unification user authentication and permission management system which is applied to practical system and attains prospective result when it is applied.
RBAC; Access Control; LDAP; Authentication; Permission Management System
TP274
A
1007-757X (2014)06-0049-04
2014.03.20)
陳小磊(1983-),男,中國石油集團測井有限公司技術中心,工程師,碩士,研究方向:計算機軟件設計及處理,西安,710077
周 軍(1976-),男,中石油測井有限公司,高級工程師,本科,研究方向:測井處理解釋軟件開發工作,西安,710077
杜欽波(1977-),男,中石油測井有限公司,工程師,碩士,研究方向:測井處理解釋軟件開發工作,西安,710077
張 娟(1986-),女,中石油測井有限公司,工程師,本科,研究方向:測井處理解釋軟件開發工作,西安,710077
段先斐(1987-),男,中石油測井有限公司,助理工程師,本科,研究方向:測井處理解釋軟件開發工作,西安,710077