張麗麗 鄔錫江 楊玉梅 張沖
摘? 要:權(quán)限管理是信息系統(tǒng)運(yùn)用于生產(chǎn)實(shí)踐的核心功能要素,基于角色的訪問控制是比較流行的權(quán)限管理模型,它很好地解決了ERP復(fù)雜系統(tǒng)的權(quán)限管理問題。通過基于RBAC的權(quán)限設(shè)計(jì)研究,以及在華雁智能科技(集團(tuán))股份有限公司自主開發(fā)的技術(shù)服務(wù)工作管理系統(tǒng)的應(yīng)用實(shí)現(xiàn),最終驗(yàn)證該系統(tǒng)可以滿足生產(chǎn)環(huán)境對權(quán)限管理要求,且有良好的擴(kuò)展性,對自主開發(fā)實(shí)現(xiàn)權(quán)限管理功能有一定指導(dǎo)意義。
關(guān)鍵詞:權(quán)限管理;基于角色的訪問控制;技術(shù)服務(wù)工作管理系統(tǒng)
中圖分類號:TP393.0? ? ? 文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2020)16-0088-04
Design and Independent Development of Authority Management Based on RBAC
ZHANG Lili,WU Xijiang,YANG Yumei,ZHANG Chong
(Whayer Intelligent Technology (Group) Co.,Ltd.,Chengdu? 610041,China)
Abstract:The authority management is the core functional element of information system applied in production practice. The theoretical principle of role based access control(RBAC) is a popular data management model,and solves well the problem of authority management in ERP. Through the research of permission design based on RBAC,and the application realization of the IT service task management system for independent development in Whayer Intelligent Technology (Group) Co.,Ltd. Finally,it meets the requirements of production environment for authority management and has good expansibility. This application has certain guiding significance for the independent development and implementation of authority management functions.
Keywords:authority management;RBAC;technical service management system
0? 引? 言
在企業(yè)實(shí)際生產(chǎn)環(huán)境中,信息管理系統(tǒng)需要面對各個(gè)崗位,存在不同級別的業(yè)務(wù)人員角色,其在信息系統(tǒng)中權(quán)限是各不相同的[1]。數(shù)據(jù)作為企業(yè)重要的資產(chǎn),其隱私泄露和信息安全方面的隱患甚至關(guān)乎企業(yè)的生產(chǎn)和發(fā)展。信息系統(tǒng)是企業(yè)管理數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù)的主要載體,對數(shù)據(jù)進(jìn)行采集、傳導(dǎo)、存儲、訪問及分析處理,必須要有足夠的安全保障措施,進(jìn)而保障企業(yè)正常運(yùn)轉(zhuǎn)。因此,權(quán)限管理[2]是企業(yè)對信息系統(tǒng)產(chǎn)生信任的最基本保障,有了這個(gè)保障,信息系統(tǒng)才可能被企業(yè)所接納所使用,進(jìn)入正式生產(chǎn)環(huán)境。
20世紀(jì)90年代出現(xiàn)的基于角色的權(quán)限控制(Role-based Access Control,RBAC):由角色映射權(quán)限,由用戶映射角色,易擴(kuò)展、易維護(hù),極大地簡化權(quán)限運(yùn)維,并且很好地解決復(fù)雜ERP系統(tǒng)的權(quán)限管理問題[3]。
在企業(yè)信息化建設(shè)中,通常是采購商品化通用產(chǎn)品和自主開發(fā)混合的信息化建設(shè)模式。雖然ERP平臺支持二次開發(fā),但實(shí)際管理中,由于各種因素,比如ERP數(shù)據(jù)安全級別很高,會掣肘于安全級別的管理要求,無法滿足實(shí)際工作對系統(tǒng)便利性的需求。因此對于復(fù)雜度不高,個(gè)性化定義比較強(qiáng)的需求,企業(yè)往往采用自主開發(fā)的信息化建設(shè)模式,ERP權(quán)限管理功能模塊是封裝在ERP內(nèi)部的,脫離ERP平臺無法復(fù)用于其他系統(tǒng),所以,自主開發(fā)的系統(tǒng)的權(quán)限管理就需要自行設(shè)計(jì)和實(shí)現(xiàn)。
基于RBAC的權(quán)限設(shè)計(jì)研究有很多,有些研究僅限于對功能權(quán)限[4],如增刪改查,僅僅是增刪改查的權(quán)限管理粒度,對于企業(yè)實(shí)際數(shù)據(jù)管理存在粒度過于粗放的問題,比如銷售合同的查看,還需要細(xì)化出區(qū)域權(quán)限,甚至金額額度權(quán)限。其次,對于敏感數(shù)據(jù)項(xiàng),需要合理授權(quán),比如額度查看的功能,銷售助理不能查看敏感的合同額度等金額類數(shù)據(jù)項(xiàng)。有些研究的RBAC設(shè)計(jì)過于復(fù)雜,不利于在自主開發(fā)系統(tǒng)中進(jìn)行實(shí)踐應(yīng)用。
因此,結(jié)合多年ERP實(shí)施項(xiàng)目和企業(yè)信息化運(yùn)維工作經(jīng)驗(yàn),通過完善基于RABC模型的權(quán)限管理,既能滿足功能權(quán)限、數(shù)據(jù)范圍、數(shù)據(jù)項(xiàng)等權(quán)限粒度,設(shè)計(jì)又不過度復(fù)雜,達(dá)到實(shí)用管控效果。
本公司需要通過信息化手段強(qiáng)化技術(shù)服務(wù)工作管理,經(jīng)過多次選型終沒有合適的軟件產(chǎn)品匹配,因此本公司決定自主開發(fā)實(shí)現(xiàn)技術(shù)服務(wù)工作管理系統(tǒng)。在企業(yè)實(shí)際生產(chǎn)環(huán)境中,技術(shù)服務(wù)工作管理系統(tǒng)需要面對多個(gè)崗位、不同業(yè)務(wù)人員角色,需要防止數(shù)據(jù)不適當(dāng)?shù)膿碛小⒋鄹牡?。而已?jīng)部署的ISC、ERP、BFI系統(tǒng),它們成熟的權(quán)限功能模塊只能匹配自身平臺使用,無法給技術(shù)服務(wù)工作管理系統(tǒng)復(fù)用。同時(shí),技術(shù)服務(wù)工作管理是公司內(nèi)部業(yè)務(wù)系統(tǒng),對它投入的開發(fā)資源相對有限,不具備基于權(quán)限中間件的開發(fā)能力。技術(shù)服務(wù)工作管理系統(tǒng)自立權(quán)限管理專題,從研究設(shè)計(jì)開始、編碼調(diào)試到測試,一步步進(jìn)行開發(fā)實(shí)現(xiàn)。最終,技術(shù)服務(wù)工作管理系統(tǒng)在生產(chǎn)環(huán)境下的順利試運(yùn)行,驗(yàn)證了本設(shè)計(jì)模型是可用的、可行的,也是有效的,證實(shí)該研究具有一定實(shí)踐指導(dǎo)意義。
1? 設(shè)計(jì)模型
在技術(shù)服務(wù)工作管理系統(tǒng)中,對于權(quán)限管控的實(shí)現(xiàn),結(jié)合過往理論和實(shí)踐,進(jìn)行了適度裁剪后的設(shè)計(jì),如圖1所示。
1.1? 模型要素
(1)用戶與角色的映射,角色與資源的映射,是多對多的關(guān)系;
(2)角色與資源的映射,資源項(xiàng)分為功能權(quán)限(Web資源)和數(shù)據(jù)權(quán)限。
功能權(quán)限是對Web資源的操作權(quán)分配,如增刪改。同時(shí),通過數(shù)據(jù)范圍細(xì)化了查看權(quán)限的數(shù)據(jù)粒度。在查看權(quán)限上,約束角色的數(shù)據(jù)范圍,比如:西南銷售助理只能查看銷售區(qū)域?yàn)槲髂系匿N售訂單;刪除和修改權(quán)限上,約束角色是本人的制作單據(jù)才允許刪除和修改,否則不允許,可有效防止數(shù)據(jù)篡改。
不可見字段是對“數(shù)據(jù)項(xiàng)范圍”查看權(quán)限的細(xì)化。有些數(shù)據(jù)項(xiàng)需要對某些角色不可見或者不允許填寫,比如銷售金額類字段對于銷售助理角色是不可見的,而對銷售總監(jiān)是可見的。
1.2? 工作流程
用戶登錄系統(tǒng)訪問頁面資源時(shí),激活權(quán)限角色。通過傳遞“操作人”“Web資源名稱”來校驗(yàn)功能權(quán)限的合法性。將權(quán)限校驗(yàn)邏輯封裝成一個(gè)過程(方法),將會話的參數(shù)進(jìn)行傳遞,由檢驗(yàn)過程反饋校驗(yàn)結(jié)果,若用戶非法操作,系統(tǒng)則提示無操作權(quán)限。
2? 開發(fā)實(shí)現(xiàn)
技術(shù)服務(wù)工作管理系統(tǒng)開發(fā)環(huán)境:前端框架Layui;后端:PHP,實(shí)現(xiàn)邏輯示例如圖2所示。
2.1? Web資源管理
Web資源分為頁面和API,API是專門控制資源的使用,本質(zhì)是一系列功能邏輯,即新增、刪除、修改、審定和查看,如圖3所示。
一個(gè)業(yè)務(wù)對象的動作,可能會涉及多個(gè)API,比如項(xiàng)目的新增,就會涉及新增子項(xiàng)的API、子項(xiàng)搜索的API和保存項(xiàng)目的API。因此,為了保證授權(quán)完整性,需要對API按業(yè)務(wù)對象維護(hù)名稱以便理解和使用。
Web資源表會自動收集Web資源,當(dāng)用戶使用API資源時(shí),如果未被Web資源表收納,在發(fā)生訪問會話時(shí)會自動被收到Web資源表。如果已經(jīng)存在,則不需要重復(fù)收納。
系統(tǒng)管理員只需要定期對Web資源的名稱、使用狀態(tài)進(jìn)行維護(hù),就可以實(shí)現(xiàn)Web資源的可控性。
權(quán)限維護(hù)時(shí),因超級管理員不能授權(quán)下級管理員,無法實(shí)現(xiàn)按模塊設(shè)置下級管理員,因此,從整個(gè)系統(tǒng)的維護(hù)安全來講,權(quán)限運(yùn)維工作建議由IT專員擔(dān)任。
Web資源管理的設(shè)計(jì)用途為:
(1)讓權(quán)限管理具有平臺控制機(jī)制,即陸續(xù)上線其他功能模塊時(shí),只要掌握這些新模塊的Web資源,即可完成授權(quán)控制;
(2)能實(shí)現(xiàn)系統(tǒng)管理員按功能塊的管理,通過強(qiáng)化系統(tǒng)管理員監(jiān)督角色,使得業(yè)務(wù)系統(tǒng)權(quán)限運(yùn)維更專業(yè)、更可靠、更安全;
(3)業(yè)務(wù)對象權(quán)限運(yùn)維更易用。業(yè)務(wù)對象擴(kuò)展了新的權(quán)限項(xiàng)時(shí),只要轉(zhuǎn)化為Web資源,就可以通過分配Web資源而達(dá)到使用的目的。
2.2? 角色管理
角色管理,系統(tǒng)管理員為系統(tǒng)新增角色,以用來分配Web資源,如圖4所示。
2.2.1? 角色分配權(quán)限
維護(hù)角色對應(yīng)的Web資源,如圖5所示。
2.2.2? 數(shù)據(jù)范圍
數(shù)據(jù)范圍,默認(rèn):創(chuàng)建人等于登錄人,即登錄人默認(rèn)擁有查看自己創(chuàng)建的單據(jù)。如果對角色查看權(quán)限未設(shè)置特定的數(shù)據(jù)范圍,則取用默認(rèn)值,否則按角色的自定義數(shù)據(jù)范圍取值;關(guān)鍵字說明:原則上符合SQL語法即可,如圖6所示。
2.3? 用戶管理
用戶管理,系統(tǒng)管理員為系統(tǒng)新增賬號,以用來分配角色,讓用戶賬號具有不同的使用權(quán)限,如圖7所示。
2.4? 測試驗(yàn)證
以技術(shù)服務(wù)工作管理系統(tǒng)的項(xiàng)目單據(jù)和項(xiàng)目日志單據(jù)為例,整理出這些業(yè)務(wù)對象配置的權(quán)限項(xiàng),也就是待分配的資源內(nèi)容,如表1所示,按此表羅列,可保證資源的完整性,避免遺漏等錯(cuò)誤。
根據(jù)不同的需要,設(shè)置了項(xiàng)目經(jīng)理、技服工程師、技服助理、部門經(jīng)理等角色,如表1所示,依據(jù)權(quán)責(zé)范圍分配個(gè)相應(yīng)角色。新增用戶賬號、為賬號分配角色、登錄賬號、激活會話、驗(yàn)證賬戶角色資源權(quán)限。
經(jīng)測試,如此設(shè)計(jì)和實(shí)現(xiàn)的權(quán)限管理,是符合公司現(xiàn)有生產(chǎn)環(huán)境中對權(quán)限管控的要求的,技術(shù)服務(wù)工作管理系統(tǒng)得以允許進(jìn)入生產(chǎn)環(huán)境試運(yùn)行。
3? 結(jié)? 論
基于RBAC的權(quán)限管理設(shè)計(jì),通過在技術(shù)服務(wù)工作管理系統(tǒng)中實(shí)現(xiàn)應(yīng)用,得以證明此設(shè)計(jì),對于權(quán)限管控是有效的,是可開發(fā)實(shí)現(xiàn)的,能滿足實(shí)際工作場景需要的。
實(shí)際工作中,Web資源需要進(jìn)一步的封裝,業(yè)務(wù)對象的一個(gè)動作,被封裝為一個(gè)Web資源項(xiàng),這種一對一的關(guān)系,會讓資源授權(quán)更接近業(yè)務(wù)實(shí)際場景,也能大大減少分配權(quán)限的運(yùn)維工作量。這需要結(jié)合一定的運(yùn)維經(jīng)驗(yàn),不斷地優(yōu)化系統(tǒng)設(shè)計(jì),讓資源劃分更合理后,再對Web資源按業(yè)務(wù)對象的動作做封裝。
參考文獻(xiàn):
[1] 夏曄.信息系統(tǒng)用戶權(quán)限管理分析 [J].計(jì)算機(jī)產(chǎn)品與流通,2020(7):116.
[2] 白嘉萌,寇英帥,劉澤藝,等.云計(jì)算平臺基于角色的權(quán)限管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [J].信息網(wǎng)絡(luò)安全,2020,20(1):75-82.
[3] 張鑫,楊振中,劉帥,等.基于RBAC的權(quán)限管理在地震數(shù)據(jù)共享平臺系統(tǒng)中的設(shè)計(jì)與實(shí)現(xiàn) [J].現(xiàn)代信息科技,2020,4(2):13-14+17.
[4] 湯文亮,李科.基于RBAC模型的權(quán)限管理改進(jìn)研究與實(shí)現(xiàn) [J].計(jì)算機(jī)工程與設(shè)計(jì),2015,36(5):1181-1186+1232.
作者簡介:張麗麗(1988—),女,漢族,山東菏澤人,網(wǎng)信組組長,碩士,研究方向:企業(yè)信息化建設(shè);鄔錫江(1984—),男,漢族,四川成都人,信息系統(tǒng)開發(fā)工程師,本科,研究方向:企業(yè)信息系統(tǒng)開發(fā);楊玉梅(1984—),女,彝族,四川攀枝花人,信息化專員,本科,研究方向:企業(yè)信息化實(shí)施;張沖(1995—),男,漢族,四川南充人,信息化專員,本科,研究方向:企業(yè)信息化系統(tǒng)開發(fā)。