張麗麗 鄔錫江 楊玉梅 張沖



摘? 要:權限管理是信息系統運用于生產實踐的核心功能要素,基于角色的訪問控制是比較流行的權限管理模型,它很好地解決了ERP復雜系統的權限管理問題。通過基于RBAC的權限設計研究,以及在華雁智能科技(集團)股份有限公司自主開發的技術服務工作管理系統的應用實現,最終驗證該系統可以滿足生產環境對權限管理要求,且有良好的擴展性,對自主開發實現權限管理功能有一定指導意義。
關鍵詞:權限管理;基于角色的訪問控制;技術服務工作管理系統
中圖分類號:TP393.0? ? ? 文獻標識碼: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? 引? 言
在企業實際生產環境中,信息管理系統需要面對各個崗位,存在不同級別的業務人員角色,其在信息系統中權限是各不相同的[1]。數據作為企業重要的資產,其隱私泄露和信息安全方面的隱患甚至關乎企業的生產和發展。信息系統是企業管理數據和業務數據的主要載體,對數據進行采集、傳導、存儲、訪問及分析處理,必須要有足夠的安全保障措施,進而保障企業正常運轉。因此,權限管理[2]是企業對信息系統產生信任的最基本保障,有了這個保障,信息系統才可能被企業所接納所使用,進入正式生產環境。
20世紀90年代出現的基于角色的權限控制(Role-based Access Control,RBAC):由角色映射權限,由用戶映射角色,易擴展、易維護,極大地簡化權限運維,并且很好地解決復雜ERP系統的權限管理問題[3]。
在企業信息化建設中,通常是采購商品化通用產品和自主開發混合的信息化建設模式。雖然ERP平臺支持二次開發,但實際管理中,由于各種因素,比如ERP數據安全級別很高,會掣肘于安全級別的管理要求,無法滿足實際工作對系統便利性的需求。因此對于復雜度不高,個性化定義比較強的需求,企業往往采用自主開發的信息化建設模式,ERP權限管理功能模塊是封裝在ERP內部的,脫離ERP平臺無法復用于其他系統,所以,自主開發的系統的權限管理就需要自行設計和實現。
基于RBAC的權限設計研究有很多,有些研究僅限于對功能權限[4],如增刪改查,僅僅是增刪改查的權限管理粒度,對于企業實際數據管理存在粒度過于粗放的問題,比如銷售合同的查看,還需要細化出區域權限,甚至金額額度權限。其次,對于敏感數據項,需要合理授權,比如額度查看的功能,銷售助理不能查看敏感的合同額度等金額類數據項。有些研究的RBAC設計過于復雜,不利于在自主開發系統中進行實踐應用。
因此,結合多年ERP實施項目和企業信息化運維工作經驗,通過完善基于RABC模型的權限管理,既能滿足功能權限、數據范圍、數據項等權限粒度,設計又不過度復雜,達到實用管控效果。
本公司需要通過信息化手段強化技術服務工作管理,經過多次選型終沒有合適的軟件產品匹配,因此本公司決定自主開發實現技術服務工作管理系統。在企業實際生產環境中,技術服務工作管理系統需要面對多個崗位、不同業務人員角色,需要防止數據不適當的擁有、篡改等。而已經部署的ISC、ERP、BFI系統,它們成熟的權限功能模塊只能匹配自身平臺使用,無法給技術服務工作管理系統復用。同時,技術服務工作管理是公司內部業務系統,對它投入的開發資源相對有限,不具備基于權限中間件的開發能力。技術服務工作管理系統自立權限管理專題,從研究設計開始、編碼調試到測試,一步步進行開發實現。最終,技術服務工作管理系統在生產環境下的順利試運行,驗證了本設計模型是可用的、可行的,也是有效的,證實該研究具有一定實踐指導意義。
1? 設計模型
在技術服務工作管理系統中,對于權限管控的實現,結合過往理論和實踐,進行了適度裁剪后的設計,如圖1所示。
1.1? 模型要素
(1)用戶與角色的映射,角色與資源的映射,是多對多的關系;
(2)角色與資源的映射,資源項分為功能權限(Web資源)和數據權限。
功能權限是對Web資源的操作權分配,如增刪改。同時,通過數據范圍細化了查看權限的數據粒度。在查看權限上,約束角色的數據范圍,比如:西南銷售助理只能查看銷售區域為西南的銷售訂單;刪除和修改權限上,約束角色是本人的制作單據才允許刪除和修改,否則不允許,可有效防止數據篡改。
不可見字段是對“數據項范圍”查看權限的細化。有些數據項需要對某些角色不可見或者不允許填寫,比如銷售金額類字段對于銷售助理角色是不可見的,而對銷售總監是可見的。
1.2? 工作流程
用戶登錄系統訪問頁面資源時,激活權限角色。通過傳遞“操作人”“Web資源名稱”來校驗功能權限的合法性。將權限校驗邏輯封裝成一個過程(方法),將會話的參數進行傳遞,由檢驗過程反饋校驗結果,若用戶非法操作,系統則提示無操作權限。
2? 開發實現
技術服務工作管理系統開發環境:前端框架Layui;后端:PHP,實現邏輯示例如圖2所示。
2.1? Web資源管理
Web資源分為頁面和API,API是專門控制資源的使用,本質是一系列功能邏輯,即新增、刪除、修改、審定和查看,如圖3所示。
一個業務對象的動作,可能會涉及多個API,比如項目的新增,就會涉及新增子項的API、子項搜索的API和保存項目的API。因此,為了保證授權完整性,需要對API按業務對象維護名稱以便理解和使用。
Web資源表會自動收集Web資源,當用戶使用API資源時,如果未被Web資源表收納,在發生訪問會話時會自動被收到Web資源表。如果已經存在,則不需要重復收納。
系統管理員只需要定期對Web資源的名稱、使用狀態進行維護,就可以實現Web資源的可控性。
權限維護時,因超級管理員不能授權下級管理員,無法實現按模塊設置下級管理員,因此,從整個系統的維護安全來講,權限運維工作建議由IT專員擔任。
Web資源管理的設計用途為:
(1)讓權限管理具有平臺控制機制,即陸續上線其他功能模塊時,只要掌握這些新模塊的Web資源,即可完成授權控制;
(2)能實現系統管理員按功能塊的管理,通過強化系統管理員監督角色,使得業務系統權限運維更專業、更可靠、更安全;
(3)業務對象權限運維更易用。業務對象擴展了新的權限項時,只要轉化為Web資源,就可以通過分配Web資源而達到使用的目的。
2.2? 角色管理
角色管理,系統管理員為系統新增角色,以用來分配Web資源,如圖4所示。
2.2.1? 角色分配權限
維護角色對應的Web資源,如圖5所示。
2.2.2? 數據范圍
數據范圍,默認:創建人等于登錄人,即登錄人默認擁有查看自己創建的單據。如果對角色查看權限未設置特定的數據范圍,則取用默認值,否則按角色的自定義數據范圍取值;關鍵字說明:原則上符合SQL語法即可,如圖6所示。
2.3? 用戶管理
用戶管理,系統管理員為系統新增賬號,以用來分配角色,讓用戶賬號具有不同的使用權限,如圖7所示。
2.4? 測試驗證
以技術服務工作管理系統的項目單據和項目日志單據為例,整理出這些業務對象配置的權限項,也就是待分配的資源內容,如表1所示,按此表羅列,可保證資源的完整性,避免遺漏等錯誤。
根據不同的需要,設置了項目經理、技服工程師、技服助理、部門經理等角色,如表1所示,依據權責范圍分配個相應角色。新增用戶賬號、為賬號分配角色、登錄賬號、激活會話、驗證賬戶角色資源權限。
經測試,如此設計和實現的權限管理,是符合公司現有生產環境中對權限管控的要求的,技術服務工作管理系統得以允許進入生產環境試運行。
3? 結? 論
基于RBAC的權限管理設計,通過在技術服務工作管理系統中實現應用,得以證明此設計,對于權限管控是有效的,是可開發實現的,能滿足實際工作場景需要的。
實際工作中,Web資源需要進一步的封裝,業務對象的一個動作,被封裝為一個Web資源項,這種一對一的關系,會讓資源授權更接近業務實際場景,也能大大減少分配權限的運維工作量。這需要結合一定的運維經驗,不斷地優化系統設計,讓資源劃分更合理后,再對Web資源按業務對象的動作做封裝。
參考文獻:
[1] 夏曄.信息系統用戶權限管理分析 [J].計算機產品與流通,2020(7):116.
[2] 白嘉萌,寇英帥,劉澤藝,等.云計算平臺基于角色的權限管理系統設計與實現 [J].信息網絡安全,2020,20(1):75-82.
[3] 張鑫,楊振中,劉帥,等.基于RBAC的權限管理在地震數據共享平臺系統中的設計與實現 [J].現代信息科技,2020,4(2):13-14+17.
[4] 湯文亮,李科.基于RBAC模型的權限管理改進研究與實現 [J].計算機工程與設計,2015,36(5):1181-1186+1232.
作者簡介:張麗麗(1988—),女,漢族,山東菏澤人,網信組組長,碩士,研究方向:企業信息化建設;鄔錫江(1984—),男,漢族,四川成都人,信息系統開發工程師,本科,研究方向:企業信息系統開發;楊玉梅(1984—),女,彝族,四川攀枝花人,信息化專員,本科,研究方向:企業信息化實施;張沖(1995—),男,漢族,四川南充人,信息化專員,本科,研究方向:企業信息化系統開發。