關則彬,蔣 薈,唐丹玉,陶 承,陳 雄
(1.中國鐵道科學研究院 電子計算技術研究所,北京 100081;2.北京航天世景信息技術有限公司,北京 100089)
RBAC模型在西安干部履責管理系統中的應用
關則彬1,蔣 薈1,唐丹玉2,陶 承1,陳 雄1
(1.中國鐵道科學研究院 電子計算技術研究所,北京 100081;2.北京航天世景信息技術有限公司,北京 100089)
西安干部履責管理信息系統的用戶數量龐大,用戶權限管理錯綜復雜。本文對西安干部履責系統中引入基于角色訪問控制(RBAC)模型來解決用戶的權限管理問題進行了一定的改進。介紹西安干部履責系統用戶權限管理的業務需求以及RBAC模型的基本思想。論述該系統中用戶權限管理的功能設計、實現技術框架和數據庫設計等。實踐表明,利用RBAC模型來解決西安干部履責系統用戶權限管理可取得良好的實際應用效果。
RBAC模型;權限管理;干部履責管理系統
近年來,隨著和諧鐵路的快速發展,鐵路企業對安全管理的要求越來越高。西安鐵路局依據《干部月度安全管理履責考核辦法(試行)》和《新機勞〔2014〕184號》等管理和考核新機制的要求,需要構建覆蓋全局各單位、各部門的西安干部履責管理信息系統(簡稱:西安干部履責系統),為安全管理提供技術支撐和保障。
用戶權限管理功能是西安干部履責系統的重要組成部分。該系統涵蓋許多業務功能,系統的用戶來自不同的職能部門且數量龐大。各職能部門用戶的權限各不相同,即使在相同部門,不同的用戶其數據查看范圍也不一樣,因此有必要在用戶權限管理中引入基于角色訪問控制(RBAC)模型來解決實際問題。
目前,西安干部履責系統的主要服務對象有鐵路局、站段兩級安全監察部門和業務部門的安全管理人員。鐵路局級用戶包括鐵路局高層管理者、鐵路局安監室人員、鐵路局調度部門相關人員、鐵路局業務處室相關人員;站段級用戶包括站段高層管理者、站段安全科人員、站段調度部門相關人員。
系統維護方面,鐵路局需要設立鐵路局級勞資員,主要是每個月負責設定各個業務處和站段考核量化指標,以及初始化各個處室和站段的初始考核獎勵數據。各個業務處需要設立業務處管理員,主要負責本處室人員功能及角色的授權維護。每個站段設立站段管理員及勞資員,站段管理員主要負責本站段內所有人員的系統角色功能授權,設定車間管理員等;勞資員主要負責設定本站段各個干部的量化考核指標及初始考核獎勵系數等。
業務處理方面,鐵路局和站段都需要設定相關的信息員,其負責干部履責考核中的安全信息流轉處理。需要建立干部日常寫實錄入及查詢、添乘報告錄入及查詢、詞條錄入及審核等一系列與具體業務領域相關的角色。
2.1 RBAC基本思想
RBAC是目前廣泛應用的一種權限管理方法。2003年4月,美國國家標準化和技術委員會給出了RBAC參考模型的消息描述和功能規范[1~2]。
RBAC的基本思想是:將權限分配給角色,而不是用戶,再根據用戶的職責賦予一定的角色,用戶根據所屬的角色獲得相應的權限[3~4]。用戶和角色、角色和權限之間都是多對多的關系[5]。
2.2 對RBAC模型進行改進
目前西安干部履責系統中涉及到許多的鐵路單位和部門,它們之間業務關系復雜。同一單位中,不同職務的人員具有不同的使用權限;而相同職務但不同單位的人員也具有不同的數據查看權限。用戶還可分為全局用戶和專業(指鐵路中劃分的車輛、機務、工務、電務、運輸等)內部用戶兩種類型。全局用戶(如系統管理員)可以操作(瀏覽、添加、修改、刪除)所有的數據,專業用戶只能對自己所在的專業部門或所管理的幾個單位的數據進行操作;某些功能只有特定人員才有權使用,不同的人員即使操作相同功能,其數據權限也不相同。
根據西安干部履責系統的實際業務需要,對RBAC基本模型進行了改進,引入組織機構及層級的概念。在一定的服務、數據共享的前提下,西安干部履責系統中組織機構某個部門的用戶不能訪問操作另外一個同級別(或高級別)部門的數據,但允許高級別的用戶訪問操作低級別單位的數據。
在上述原則下,本文通過角色對功能進行分組歸納,再通過用戶和角色、用戶和組織機構的關系,計算出用戶與功能的關系及其所對應的數據范圍,如圖1所示。擁有相同角色的用戶,所具備的系統功能相同,但是數據范圍應根據用戶所屬的組織機構層級來決定。

圖1 改進后的RBAC模型
3.1 功能設計
根據用戶需求,設計的用戶權限維護子系統包括功能權限管理、角色管理、用戶信息管理等主要模塊,再將各個主功能模塊進行細分,得到如圖 2所示的子系統功能模塊組織。

圖2 功能模塊圖
(1)功能權限管理。該功能模塊用于對西安干部履責系統中的功能進行維護,主要是定義功能的名稱、功能顯示方式、功能對應的界面及對功能進行分組歸類。在此基礎上,才能定義功能與角色的對應關系。
(2)角色管理。該功能模塊用于定義西安干部履責系統中涉及的角色、角色與系統功能權限之間的對應關系。西安干部履責系統的系統管理員根據系統業務的需要,定義不同的角色,角色之間所包含的功能權限各不相同。角色與角色之間也可以有包含關系。一個角色可以被賦予多個系統用戶。
(3)用戶信息管理。該模塊主要包括用戶基本信息(姓名、職務、電話等)維護、用戶組織機構及調動信息維護、用戶所屬角色維護等功能。一個用戶可以被授予多個角色,用戶通過其所包含的角色獲得相應的功能權限。
初始化西安干部履責系統時,系統只有一個超級管理員Super。Super通過建立鐵路局級的管理員和站段級的管理員,把權限分發出去。鐵路局級管理和站段級管理員可以分別維護本單位內的用戶。這些管理員還可以建立子級的管理員比如車間管理員、班組管理員等來分發維護權限。
3.2 框架結構
客戶端展示包括界面表示層、界面校驗層和界面業務層。界面校驗層用于檢查用戶輸入的查詢條件是否正確,并給出相應提示。該層主要由Javascript技術實現。界面業務層主要是對數據進行進一步處理,使其滿足展示的需求格式。界面表示層主要將功能頁面和結果頁面展示給用戶。界面業務層和界面展示層主要采用ASP.Net技術。
業務邏輯層包括數據處理業務層、數據訪問業務層、數據訪問中間層。數據處理業務層將滿足校驗條件的數據進一步處理,使其能夠對數據庫進行訪問;將從數據庫中取得的數據處理為滿足條件的結果,進行展示。數據訪問業務層用于實現數據訪問業務,將前臺方法與存儲過程聯系起來。數據訪問中間層是連接數據業務層與數據庫存儲過程的橋梁,其中包含訪問數據庫的各種方法和屬性。
數據庫主要包括存儲過程。存儲過程直接對數據庫進行訪問,根據條件獲取和處理數據。
具體框架結構如圖3所示。

圖3 框架結構圖
3.3 數據庫設計
基于上述模型,西安干部履責系統中權限子系統設計了如下數據表:
功能權限表(JCSJ_GNMKDM):用于記錄西安干部履責系統功能模塊相關信息,包括功能名稱、功能結構關系、功能對應的頁面地址、功能的分組菜單等。
角色信息表(JCSJ_JSDM):用于記錄西安干部履責系統中所用到的角色的相關信息,包括角色名稱、描述等。
角色關系表(JCSJ_JSDMGX):用于記錄角色與角色之間的關系。比如多個角色可以組合成一個新的角色。一個角色也可以屬于多個角色。
角色功能關系表(JCSJ_JSGNGX):用于記錄功能與角色之間的對應關系。一個角色可以包含多個功能,一個功能也可以屬于多個角色,它們之間是多對多的關系。
用戶信息表(JCSJ_YHXX):用于存儲西安干部履責系統所有用戶的基本信息,包括用戶的姓名、年齡、電話、所屬單位等。
組織機構表(JCSJ_ZZJG):用于存儲組織機構相關信息,包括機構名稱、機構等級、機構類別、上級機構等。
用戶角色關系表(JCSJ_YHJSGX):用于存儲用戶所擁有的角色。用戶與角色之間是多對多的關系。
數據庫模型如圖4所示。

圖4 數據庫模型圖
在西安干部履責系統中引入RBAC模型,解決了系統權限管理復雜性的問題。利用該模型,目前權限子系統建立了219個功能菜單和167個角色,系統用戶人數達到84 952人,已經在全局30個處室和56個站段共8 001個業務部門中使用。
權限子系統初始化設定好超級用戶。通過該超級用戶分別建立鐵路局級和站段級系統管理員。該兩級的管理員再把權限分配至各自管轄范圍內的用戶,比如站段管理員可以建立車間管理員,實現權限逐層分解。
根據業務需求,權限子系統為鐵路局高層管理者、鐵路局安監室人員、鐵路局調度部門相關人員、鐵路局業務處室相關人員、站段高層管理者、站段安全科人員、站段調度部門相關人員都分別建立了對應的角色,并為這些角色授予一定的系統功能。
權限控制子系統的部分功能界面如圖5~圖7所示。

圖5 用戶信息管理界面
圖5是系統管理員為鐵路局和站段的業務人員在系統中建立登錄用戶的界面。

圖6 用戶角色授權界面
圖6是系統管理員為有效用戶授予角色的界面。用戶被授予角色后,就具備了角色所對應的功能。
圖7是系統管理員維護所有角色的界面。管理員可以根據業務需要,增加相應的角色,并為該角色授予系統的某些功能。

圖7 角色管理界面
在西安干部履責系統開發中,加入角色權限管理模塊,對系統操作的安全性起到較好的保障作用,且具有較大的靈活性,實現了權限的協調轉換,降低了權限管理和系統維護的復雜性。RBAC模型的權限管理思想符合西安干部履責系統的應用要求,并能很好地適應鐵路安全系統的安全策略,是一種非常重要的安全保障措施。
[1]張世龍,沈玉利.一種改善RBAC模型用戶權限獲取效率的方法[J].四川大學學報:自然科學版, 2009,46(1): 69-74.
[2]付國強, 陳銳皓.層次化動態權限控制模型的設計和實現[J].計算機工程與設計,2007,28(3): 690-693.
[3]王延彬,許林英,楊海琛.OA系統中基于角色的用戶權限管理[J].微處理機,2008,8(4):64-67.
[4]劉建圻,曾 碧,鄭秀璋.基于RBAC權限管理模型的改進與應用[J].計算機應用,2008,28(9): 2449-2451.
[5]嚴 駿,蘇正煉, 凌海風,等.MIS中基于部門和角色的細粒度訪問控制模型[J].計算機應用,2011,31(2): 523-526.
責任編輯 陳 蓉
RBAC Model applied to Xi'an Cadres Fulfllment Responsibilities Management System
GUAN Zebin1,JIANG Hui1,TANG Danyu2,TAO Cheng1,CHEN Xiong1
( 1.Institute of Computing Technologies,China Academy of Railway Sciences,Beijing 100081,China;2.Beijing Aerospace Scene Information Technology Co.Ltd.,Beijing 100089,China)
There are huge numbers of users for the Xi'an Cadres Fulfllment Responsibilities Management System (FCRMS).User rights management is very complicated.In this article,it was introduced the role based access control (RBAC) model to solve the problem of user authority management in FCRMS.The article described business needs of the user rights management and the basic idea of RBAC model,discussed the function design,database design and implementation technology framework of FCRMS.Practice showed that using RBAC model to solve the rights management in FCRMS could achieve good effect in practical application.
RBAC model;rights management;Cadres Fulfllment Responsibilities Management System
U29:F530.64:TP39
A
1005-8451(2016)04-0045-04
2015-09-15
關則彬,助理研究員;蔣 薈,研究員。