關(guān)則彬,蔣 薈,唐丹玉,陶 承,陳 雄
(1.中國鐵道科學(xué)研究院 電子計(jì)算技術(shù)研究所,北京 100081;2.北京航天世景信息技術(shù)有限公司,北京 100089)
RBAC模型在西安干部履責(zé)管理系統(tǒng)中的應(yīng)用
關(guān)則彬1,蔣 薈1,唐丹玉2,陶 承1,陳 雄1
(1.中國鐵道科學(xué)研究院 電子計(jì)算技術(shù)研究所,北京 100081;2.北京航天世景信息技術(shù)有限公司,北京 100089)
西安干部履責(zé)管理信息系統(tǒng)的用戶數(shù)量龐大,用戶權(quán)限管理錯(cuò)綜復(fù)雜。本文對(duì)西安干部履責(zé)系統(tǒng)中引入基于角色訪問控制(RBAC)模型來解決用戶的權(quán)限管理問題進(jìn)行了一定的改進(jìn)。介紹西安干部履責(zé)系統(tǒng)用戶權(quán)限管理的業(yè)務(wù)需求以及RBAC模型的基本思想。論述該系統(tǒng)中用戶權(quán)限管理的功能設(shè)計(jì)、實(shí)現(xiàn)技術(shù)框架和數(shù)據(jù)庫設(shè)計(jì)等。實(shí)踐表明,利用RBAC模型來解決西安干部履責(zé)系統(tǒng)用戶權(quán)限管理可取得良好的實(shí)際應(yīng)用效果。
RBAC模型;權(quán)限管理;干部履責(zé)管理系統(tǒng)
近年來,隨著和諧鐵路的快速發(fā)展,鐵路企業(yè)對(duì)安全管理的要求越來越高。西安鐵路局依據(jù)《干部月度安全管理履責(zé)考核辦法(試行)》和《新機(jī)勞〔2014〕184號(hào)》等管理和考核新機(jī)制的要求,需要構(gòu)建覆蓋全局各單位、各部門的西安干部履責(zé)管理信息系統(tǒng)(簡稱:西安干部履責(zé)系統(tǒng)),為安全管理提供技術(shù)支撐和保障。
用戶權(quán)限管理功能是西安干部履責(zé)系統(tǒng)的重要組成部分。該系統(tǒng)涵蓋許多業(yè)務(wù)功能,系統(tǒng)的用戶來自不同的職能部門且數(shù)量龐大。各職能部門用戶的權(quán)限各不相同,即使在相同部門,不同的用戶其數(shù)據(jù)查看范圍也不一樣,因此有必要在用戶權(quán)限管理中引入基于角色訪問控制(RBAC)模型來解決實(shí)際問題。
目前,西安干部履責(zé)系統(tǒng)的主要服務(wù)對(duì)象有鐵路局、站段兩級(jí)安全監(jiān)察部門和業(yè)務(wù)部門的安全管理人員。鐵路局級(jí)用戶包括鐵路局高層管理者、鐵路局安監(jiān)室人員、鐵路局調(diào)度部門相關(guān)人員、鐵路局業(yè)務(wù)處室相關(guān)人員;站段級(jí)用戶包括站段高層管理者、站段安全科人員、站段調(diào)度部門相關(guān)人員。
系統(tǒng)維護(hù)方面,鐵路局需要設(shè)立鐵路局級(jí)勞資員,主要是每個(gè)月負(fù)責(zé)設(shè)定各個(gè)業(yè)務(wù)處和站段考核量化指標(biāo),以及初始化各個(gè)處室和站段的初始考核獎(jiǎng)勵(lì)數(shù)據(jù)。各個(gè)業(yè)務(wù)處需要設(shè)立業(yè)務(wù)處管理員,主要負(fù)責(zé)本處室人員功能及角色的授權(quán)維護(hù)。每個(gè)站段設(shè)立站段管理員及勞資員,站段管理員主要負(fù)責(zé)本站段內(nèi)所有人員的系統(tǒng)角色功能授權(quán),設(shè)定車間管理員等;勞資員主要負(fù)責(zé)設(shè)定本站段各個(gè)干部的量化考核指標(biāo)及初始考核獎(jiǎng)勵(lì)系數(shù)等。
業(yè)務(wù)處理方面,鐵路局和站段都需要設(shè)定相關(guān)的信息員,其負(fù)責(zé)干部履責(zé)考核中的安全信息流轉(zhuǎn)處理。需要建立干部日常寫實(shí)錄入及查詢、添乘報(bào)告錄入及查詢、詞條錄入及審核等一系列與具體業(yè)務(wù)領(lǐng)域相關(guān)的角色。
2.1 RBAC基本思想
RBAC是目前廣泛應(yīng)用的一種權(quán)限管理方法。2003年4月,美國國家標(biāo)準(zhǔn)化和技術(shù)委員會(huì)給出了RBAC參考模型的消息描述和功能規(guī)范[1~2]。
RBAC的基本思想是:將權(quán)限分配給角色,而不是用戶,再根據(jù)用戶的職責(zé)賦予一定的角色,用戶根據(jù)所屬的角色獲得相應(yīng)的權(quán)限[3~4]。用戶和角色、角色和權(quán)限之間都是多對(duì)多的關(guān)系[5]。
2.2 對(duì)RBAC模型進(jìn)行改進(jìn)
目前西安干部履責(zé)系統(tǒng)中涉及到許多的鐵路單位和部門,它們之間業(yè)務(wù)關(guān)系復(fù)雜。同一單位中,不同職務(wù)的人員具有不同的使用權(quán)限;而相同職務(wù)但不同單位的人員也具有不同的數(shù)據(jù)查看權(quán)限。用戶還可分為全局用戶和專業(yè)(指鐵路中劃分的車輛、機(jī)務(wù)、工務(wù)、電務(wù)、運(yùn)輸?shù)龋﹥?nèi)部用戶兩種類型。全局用戶(如系統(tǒng)管理員)可以操作(瀏覽、添加、修改、刪除)所有的數(shù)據(jù),專業(yè)用戶只能對(duì)自己所在的專業(yè)部門或所管理的幾個(gè)單位的數(shù)據(jù)進(jìn)行操作;某些功能只有特定人員才有權(quán)使用,不同的人員即使操作相同功能,其數(shù)據(jù)權(quán)限也不相同。
根據(jù)西安干部履責(zé)系統(tǒng)的實(shí)際業(yè)務(wù)需要,對(duì)RBAC基本模型進(jìn)行了改進(jìn),引入組織機(jī)構(gòu)及層級(jí)的概念。在一定的服務(wù)、數(shù)據(jù)共享的前提下,西安干部履責(zé)系統(tǒng)中組織機(jī)構(gòu)某個(gè)部門的用戶不能訪問操作另外一個(gè)同級(jí)別(或高級(jí)別)部門的數(shù)據(jù),但允許高級(jí)別的用戶訪問操作低級(jí)別單位的數(shù)據(jù)。
在上述原則下,本文通過角色對(duì)功能進(jìn)行分組歸納,再通過用戶和角色、用戶和組織機(jī)構(gòu)的關(guān)系,計(jì)算出用戶與功能的關(guān)系及其所對(duì)應(yīng)的數(shù)據(jù)范圍,如圖1所示。擁有相同角色的用戶,所具備的系統(tǒng)功能相同,但是數(shù)據(jù)范圍應(yīng)根據(jù)用戶所屬的組織機(jī)構(gòu)層級(jí)來決定。
圖1 改進(jìn)后的RBAC模型
3.1 功能設(shè)計(jì)
根據(jù)用戶需求,設(shè)計(jì)的用戶權(quán)限維護(hù)子系統(tǒng)包括功能權(quán)限管理、角色管理、用戶信息管理等主要模塊,再將各個(gè)主功能模塊進(jìn)行細(xì)分,得到如圖 2所示的子系統(tǒng)功能模塊組織。
圖2 功能模塊圖
(1)功能權(quán)限管理。該功能模塊用于對(duì)西安干部履責(zé)系統(tǒng)中的功能進(jìn)行維護(hù),主要是定義功能的名稱、功能顯示方式、功能對(duì)應(yīng)的界面及對(duì)功能進(jìn)行分組歸類。在此基礎(chǔ)上,才能定義功能與角色的對(duì)應(yīng)關(guān)系。
(2)角色管理。該功能模塊用于定義西安干部履責(zé)系統(tǒng)中涉及的角色、角色與系統(tǒng)功能權(quán)限之間的對(duì)應(yīng)關(guān)系。西安干部履責(zé)系統(tǒng)的系統(tǒng)管理員根據(jù)系統(tǒng)業(yè)務(wù)的需要,定義不同的角色,角色之間所包含的功能權(quán)限各不相同。角色與角色之間也可以有包含關(guān)系。一個(gè)角色可以被賦予多個(gè)系統(tǒng)用戶。
(3)用戶信息管理。該模塊主要包括用戶基本信息(姓名、職務(wù)、電話等)維護(hù)、用戶組織機(jī)構(gòu)及調(diào)動(dòng)信息維護(hù)、用戶所屬角色維護(hù)等功能。一個(gè)用戶可以被授予多個(gè)角色,用戶通過其所包含的角色獲得相應(yīng)的功能權(quán)限。
初始化西安干部履責(zé)系統(tǒng)時(shí),系統(tǒng)只有一個(gè)超級(jí)管理員Super。Super通過建立鐵路局級(jí)的管理員和站段級(jí)的管理員,把權(quán)限分發(fā)出去。鐵路局級(jí)管理和站段級(jí)管理員可以分別維護(hù)本單位內(nèi)的用戶。這些管理員還可以建立子級(jí)的管理員比如車間管理員、班組管理員等來分發(fā)維護(hù)權(quán)限。
3.2 框架結(jié)構(gòu)
客戶端展示包括界面表示層、界面校驗(yàn)層和界面業(yè)務(wù)層。界面校驗(yàn)層用于檢查用戶輸入的查詢條件是否正確,并給出相應(yīng)提示。該層主要由Javascript技術(shù)實(shí)現(xiàn)。界面業(yè)務(wù)層主要是對(duì)數(shù)據(jù)進(jìn)行進(jìn)一步處理,使其滿足展示的需求格式。界面表示層主要將功能頁面和結(jié)果頁面展示給用戶。界面業(yè)務(wù)層和界面展示層主要采用ASP.Net技術(shù)。
業(yè)務(wù)邏輯層包括數(shù)據(jù)處理業(yè)務(wù)層、數(shù)據(jù)訪問業(yè)務(wù)層、數(shù)據(jù)訪問中間層。數(shù)據(jù)處理業(yè)務(wù)層將滿足校驗(yàn)條件的數(shù)據(jù)進(jìn)一步處理,使其能夠?qū)?shù)據(jù)庫進(jìn)行訪問;將從數(shù)據(jù)庫中取得的數(shù)據(jù)處理為滿足條件的結(jié)果,進(jìn)行展示。數(shù)據(jù)訪問業(yè)務(wù)層用于實(shí)現(xiàn)數(shù)據(jù)訪問業(yè)務(wù),將前臺(tái)方法與存儲(chǔ)過程聯(lián)系起來。數(shù)據(jù)訪問中間層是連接數(shù)據(jù)業(yè)務(wù)層與數(shù)據(jù)庫存儲(chǔ)過程的橋梁,其中包含訪問數(shù)據(jù)庫的各種方法和屬性。
數(shù)據(jù)庫主要包括存儲(chǔ)過程。存儲(chǔ)過程直接對(duì)數(shù)據(jù)庫進(jìn)行訪問,根據(jù)條件獲取和處理數(shù)據(jù)。
具體框架結(jié)構(gòu)如圖3所示。
圖3 框架結(jié)構(gòu)圖
3.3 數(shù)據(jù)庫設(shè)計(jì)
基于上述模型,西安干部履責(zé)系統(tǒng)中權(quán)限子系統(tǒng)設(shè)計(jì)了如下數(shù)據(jù)表:
功能權(quán)限表(JCSJ_GNMKDM):用于記錄西安干部履責(zé)系統(tǒng)功能模塊相關(guān)信息,包括功能名稱、功能結(jié)構(gòu)關(guān)系、功能對(duì)應(yīng)的頁面地址、功能的分組菜單等。
角色信息表(JCSJ_JSDM):用于記錄西安干部履責(zé)系統(tǒng)中所用到的角色的相關(guān)信息,包括角色名稱、描述等。
角色關(guān)系表(JCSJ_JSDMGX):用于記錄角色與角色之間的關(guān)系。比如多個(gè)角色可以組合成一個(gè)新的角色。一個(gè)角色也可以屬于多個(gè)角色。
角色功能關(guān)系表(JCSJ_JSGNGX):用于記錄功能與角色之間的對(duì)應(yīng)關(guān)系。一個(gè)角色可以包含多個(gè)功能,一個(gè)功能也可以屬于多個(gè)角色,它們之間是多對(duì)多的關(guān)系。
用戶信息表(JCSJ_YHXX):用于存儲(chǔ)西安干部履責(zé)系統(tǒng)所有用戶的基本信息,包括用戶的姓名、年齡、電話、所屬單位等。
組織機(jī)構(gòu)表(JCSJ_ZZJG):用于存儲(chǔ)組織機(jī)構(gòu)相關(guān)信息,包括機(jī)構(gòu)名稱、機(jī)構(gòu)等級(jí)、機(jī)構(gòu)類別、上級(jí)機(jī)構(gòu)等。
用戶角色關(guān)系表(JCSJ_YHJSGX):用于存儲(chǔ)用戶所擁有的角色。用戶與角色之間是多對(duì)多的關(guān)系。
數(shù)據(jù)庫模型如圖4所示。
圖4 數(shù)據(jù)庫模型圖
在西安干部履責(zé)系統(tǒng)中引入RBAC模型,解決了系統(tǒng)權(quán)限管理復(fù)雜性的問題。利用該模型,目前權(quán)限子系統(tǒng)建立了219個(gè)功能菜單和167個(gè)角色,系統(tǒng)用戶人數(shù)達(dá)到84 952人,已經(jīng)在全局30個(gè)處室和56個(gè)站段共8 001個(gè)業(yè)務(wù)部門中使用。
權(quán)限子系統(tǒng)初始化設(shè)定好超級(jí)用戶。通過該超級(jí)用戶分別建立鐵路局級(jí)和站段級(jí)系統(tǒng)管理員。該兩級(jí)的管理員再把權(quán)限分配至各自管轄范圍內(nèi)的用戶,比如站段管理員可以建立車間管理員,實(shí)現(xiàn)權(quán)限逐層分解。
根據(jù)業(yè)務(wù)需求,權(quán)限子系統(tǒng)為鐵路局高層管理者、鐵路局安監(jiān)室人員、鐵路局調(diào)度部門相關(guān)人員、鐵路局業(yè)務(wù)處室相關(guān)人員、站段高層管理者、站段安全科人員、站段調(diào)度部門相關(guān)人員都分別建立了對(duì)應(yīng)的角色,并為這些角色授予一定的系統(tǒng)功能。
權(quán)限控制子系統(tǒng)的部分功能界面如圖5~圖7所示。
圖5 用戶信息管理界面
圖5是系統(tǒng)管理員為鐵路局和站段的業(yè)務(wù)人員在系統(tǒng)中建立登錄用戶的界面。
圖6 用戶角色授權(quán)界面
圖6是系統(tǒng)管理員為有效用戶授予角色的界面。用戶被授予角色后,就具備了角色所對(duì)應(yīng)的功能。
圖7是系統(tǒng)管理員維護(hù)所有角色的界面。管理員可以根據(jù)業(yè)務(wù)需要,增加相應(yīng)的角色,并為該角色授予系統(tǒng)的某些功能。
圖7 角色管理界面
在西安干部履責(zé)系統(tǒng)開發(fā)中,加入角色權(quán)限管理模塊,對(duì)系統(tǒng)操作的安全性起到較好的保障作用,且具有較大的靈活性,實(shí)現(xiàn)了權(quán)限的協(xié)調(diào)轉(zhuǎn)換,降低了權(quán)限管理和系統(tǒng)維護(hù)的復(fù)雜性。RBAC模型的權(quán)限管理思想符合西安干部履責(zé)系統(tǒng)的應(yīng)用要求,并能很好地適應(yīng)鐵路安全系統(tǒng)的安全策略,是一種非常重要的安全保障措施。
[1]張世龍,沈玉利.一種改善RBAC模型用戶權(quán)限獲取效率的方法[J].四川大學(xué)學(xué)報(bào):自然科學(xué)版, 2009,46(1): 69-74.
[2]付國強(qiáng), 陳銳皓.層次化動(dòng)態(tài)權(quán)限控制模型的設(shè)計(jì)和實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28(3): 690-693.
[3]王延彬,許林英,楊海琛.OA系統(tǒng)中基于角色的用戶權(quán)限管理[J].微處理機(jī),2008,8(4):64-67.
[4]劉建圻,曾 碧,鄭秀璋.基于RBAC權(quán)限管理模型的改進(jìn)與應(yīng)用[J].計(jì)算機(jī)應(yīng)用,2008,28(9): 2449-2451.
[5]嚴(yán) 駿,蘇正煉, 凌海風(fēng),等.MIS中基于部門和角色的細(xì)粒度訪問控制模型[J].計(jì)算機(jī)應(yīng)用,2011,31(2): 523-526.
責(zé)任編輯 陳 蓉
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
關(guān)則彬,助理研究員;蔣 薈,研究員。