呂向茹,牛宏睿,盧文龍
(1. 北京經(jīng)緯信息技術(shù)有限公司,北京 100081;2. 中國鐵道科學(xué)研究院集團有限公司 電子計算技術(shù)研究所,北京 100081)
數(shù)據(jù)是鐵路實現(xiàn)數(shù)字化轉(zhuǎn)型的關(guān)鍵,是鐵路百年工程的源頭,也是打造智能化鐵路的基石[1]。其中,非結(jié)構(gòu)化數(shù)據(jù)是數(shù)據(jù)治理的難點,約占鐵路建設(shè)行業(yè)總數(shù)據(jù)量的80%。鐵路建設(shè)行業(yè)內(nèi)容管理是對鐵路建設(shè)期間形成的各類非結(jié)構(gòu)化數(shù)據(jù)的管理,主要包括文本、圖片、設(shè)計模型、設(shè)計圖紙、各類報表、公文、視頻、音頻等[2]。鐵路建設(shè)內(nèi)容管理不僅要滿足建造期數(shù)據(jù)高效運轉(zhuǎn),還需為鐵路運營和維護完成原始數(shù)據(jù)積累。通過內(nèi)容管理可深度挖掘鐵路建設(shè)行業(yè)數(shù)據(jù)價值,提高行業(yè)競爭優(yōu)勢,為行業(yè)長遠(yuǎn)發(fā)展提供助力。
權(quán)限控制是實現(xiàn)內(nèi)容多層級精細(xì)化、高效化管理的重要手段,同時也為鐵路行業(yè)內(nèi)容管理提供安全保障[3]。為滿足鐵路建設(shè)單位和參建單位精細(xì)化內(nèi)容訪問控制,保障鐵路建設(shè)內(nèi)容管理安全可靠,亟需設(shè)計一套適用于鐵路建設(shè)行業(yè)內(nèi)容管理的權(quán)限模型[4]。
權(quán)限控制即控制用戶對資源或服務(wù)的訪問權(quán)限,目前常見的權(quán)限模型包括訪問控制列表(ACL,Access Control List)模 型、基 于 屬 性 的 訪 問 控 制(ABAC ,Attribute-Based Access Control)模型、基于角色的訪問控制(RBAC,Role-Based Access Control)模型等,不同權(quán)限模型適用于不同的應(yīng)用場景。
(1)ACL 權(quán)限模型
ACL 是一種以資源為核心,基于權(quán)限列表進行授權(quán)的訪問控制機制。模型主要包含用戶、資源和操作3 個關(guān)鍵要素。當(dāng)用戶請求操作資源時需檢查資源的權(quán)限列表,如果資源的權(quán)限列表中存在該用戶的操作權(quán)限則允許,否則拒絕。ACL 權(quán)限模型的優(yōu)點在于原理簡單,缺點在于當(dāng)存在大量用戶或資源眾多的情況下,不能滿足基于復(fù)雜多層級目錄樹內(nèi)容管理的需求。
(2)ABAC 權(quán)限模型
ABAC 通過實體、操作、環(huán)境等屬性集合來實現(xiàn)用戶對資源的訪問控制,是一種基于屬性的訪問控制模型,如圖1 所示。ABAC 將用戶按照不同屬性進行劃分,為具有各類屬性組合的用戶進行資源授權(quán)。ABAC 權(quán)限模型的優(yōu)點是能夠滿足復(fù)雜場景下權(quán)限的靈活配置,缺點是授權(quán)機制較為復(fù)雜。而鐵路建設(shè)行業(yè)內(nèi)容管理的授權(quán)過程面向普通用戶,因此需要滿足簡單、易操作等特性。

圖1 ABAC 權(quán)限模型
(3)RBAC 權(quán)限模型
RBAC 指基于角色的訪問控制,是目前最常用的一種權(quán)限模型[5]。RBAC 模型包括用戶、角色、操作、對象和權(quán)限5 個基本要素。在RBAC 模型分類中,RBAC0 定義了最小要素幾何,也是其他RBAC模型的基礎(chǔ),其權(quán)限模型如圖2 所示。該模型在對象和操作之間構(gòu)建對應(yīng)關(guān)系,形成權(quán)限項并授權(quán)于角色,通過會話實現(xiàn)用戶和角色的映射關(guān)系[6]。RBAC 權(quán)限模型的繼承機制和職責(zé)分離機制為鐵路建設(shè)行業(yè)內(nèi)容管理權(quán)限控制模型提供了借鑒和參考。

圖2 RBAC0 權(quán)限模型
鐵路建設(shè)行業(yè)發(fā)布了《鐵路建設(shè)項目資料管理規(guī)程》《竣工文檔管理辦法》等一系列文件用以規(guī)范鐵路建設(shè)項目立項、審批、招投標(biāo)、勘察設(shè)計、施工、監(jiān)理、竣工驗收等全生命周期內(nèi)文檔的形成、收集、整理、組卷、驗收、歸檔和移交等管理。通過規(guī)范化管理,鐵路建設(shè)行業(yè)內(nèi)容管理權(quán)限控制形成以下特點。
(1)授權(quán)對象為文件夾或文件節(jié)點
在一般權(quán)限模型中,授權(quán)對象是指模型化的應(yīng)用程序編程接口對象,包括Pods、Nodes、Secrets、ConfigMaps、Deployments 等,而基于內(nèi)容管理的授權(quán)對象指文件夾和文件形成的節(jié)點。
(2)授權(quán)對象具有多層級繼承關(guān)系
在一般權(quán)限模型中,授權(quán)對象多是對單層級資源進行的分類;而基于內(nèi)容管理的文件夾和其子文件夾或文件本身具有繼承關(guān)系,因此需要針對具有繼承關(guān)系的多層級目錄樹節(jié)點對象進行授權(quán)。
(3)具有統(tǒng)一的標(biāo)準(zhǔn)化目錄結(jié)構(gòu)
依據(jù)《鐵路建設(shè)資料管理規(guī)程》,將鐵路建設(shè)內(nèi)容管理標(biāo)準(zhǔn)目錄結(jié)構(gòu)劃分為5 類,包括A 類—建設(shè)管理資料、B 類—勘察設(shè)計資料、C 類—施工資料、D 類—監(jiān)理資料、E 類—竣工驗收資料[7]。
(4)元數(shù)據(jù)以JSON Schema 的方式掛接在節(jié)點
鐵路建設(shè)行業(yè)已梳理4 191 條元數(shù)據(jù),這些元數(shù)據(jù)以結(jié)構(gòu)化數(shù)據(jù)方式進行存儲,以JSON Schema 的方式掛接在節(jié)點,通過構(gòu)建元數(shù)據(jù)模型實現(xiàn)對元數(shù)據(jù)的組織和管理,對節(jié)點進行授權(quán)的同時即可實現(xiàn)對元數(shù)據(jù)的操作授權(quán)。
(5)實行分級授權(quán)的管理模式
鐵路建設(shè)行業(yè)內(nèi)容管理通過先創(chuàng)建節(jié)點、后進行授權(quán)的方式對鐵路建設(shè)結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)進行管理。系統(tǒng)管理員創(chuàng)建“項目”節(jié)點,并將“項目”節(jié)點管理權(quán)限授權(quán)給項目管理員,項目管理員再依據(jù)需求創(chuàng)建“單位資料庫”,并將“單位資料庫”節(jié)點管理權(quán)限授權(quán)給單位管理員,單位管理員再依次創(chuàng)建本單位項目目錄結(jié)構(gòu)并進行授權(quán)。
鐵路建設(shè)行業(yè)內(nèi)容管理權(quán)限模型在RBAC 權(quán)限模型基礎(chǔ)上,以節(jié)點為核心進行授權(quán),每個節(jié)點都存在一個權(quán)限列表與其對應(yīng),權(quán)限列表包含一條或多條權(quán)限控制項,權(quán)限控制項包括權(quán)限所有者和對應(yīng)的角色,角色中包含了多個基礎(chǔ)權(quán)限,其模型如圖3 所示[8]。

圖3 鐵路建設(shè)行業(yè)內(nèi)容管理權(quán)限模型
(1)節(jié)點:鐵路建設(shè)內(nèi)容管理授權(quán)對象,包括文件夾和文件2 類,不同于一般權(quán)限模型中的資源或?qū)ο螅瑑?nèi)容管理對象具有繼承關(guān)系。
(2)權(quán)限列表:授權(quán)對象的訪問控制列表,由一條或多條權(quán)限控制項組成。
(3)角色:一系列基礎(chǔ)權(quán)限的組合,鐵路建設(shè)行業(yè)內(nèi)容管理權(quán)限模型中的角色設(shè)定具有繼承關(guān)系。
(4)基礎(chǔ)權(quán)限:針對節(jié)點和子節(jié)點進行設(shè)定,包括讀、寫、刪除、屬性查看、屬性編輯等。
(5)操作:包括查看、下載、刪除、重命名、修改等,用戶具有的操作權(quán)限由基礎(chǔ)權(quán)限決定。
鐵路建設(shè)行業(yè)內(nèi)容管理權(quán)限模型的設(shè)計需滿足在不修改權(quán)限體系的情況下,通過簡單配置即可實現(xiàn)權(quán)限擴展,滿足未來更高精細(xì)化管理需求。本文提出的權(quán)限模型通過固化基礎(chǔ)數(shù)據(jù)權(quán)限,依托基礎(chǔ)權(quán)限組合授權(quán)的方式簡化授權(quán)操作來實現(xiàn),同時通過基礎(chǔ)數(shù)據(jù)權(quán)限對操作權(quán)限的約束,避免操作權(quán)限的頻繁變更對權(quán)限體系帶來的影響。基礎(chǔ)權(quán)限、角色和操作的映射關(guān)系如圖4 所示。

圖4 基礎(chǔ)權(quán)限、角色和操作的映射關(guān)系
(1)基礎(chǔ)權(quán)限
鐵路項目內(nèi)容管理權(quán)限模型定義了13 項固化基礎(chǔ)權(quán)限,如表1 所示。
(2)角色
鐵路項目內(nèi)容管理權(quán)限模型定義了4 類角色,如圖5 所示。用戶可根據(jù)自身需求進行擴展和配置。參與者為最小權(quán)限集合;在參與者基礎(chǔ)上增加寫入內(nèi)容、寫入屬性、創(chuàng)建子節(jié)點和刪除子節(jié)點形成合作者角色;在合作者角色的基礎(chǔ)上增加創(chuàng)建節(jié)點、刪除節(jié)點、讀取權(quán)限和修改權(quán)限形成所有者角色;為所有者角色增加創(chuàng)建所有者基礎(chǔ)權(quán)限后形成管理者角色。

圖5 角色類型和角色關(guān)系
(3)操作
操作權(quán)限包括上傳、下載、重命名、屬性查看、創(chuàng)建、復(fù)制/粘貼、刪除、屬性編輯等,操作權(quán)限受基礎(chǔ)權(quán)限的約束,例如用戶是否具有下載權(quán)限,取決于用戶所被授予角色中是否包含讀取內(nèi)容權(quán)限。
通過創(chuàng)建靈活、簡單的授權(quán)機制,實現(xiàn)鐵路建設(shè)單位和參建單位分級授權(quán),滿足鐵路建設(shè)內(nèi)容管理需求。鐵路建設(shè)行業(yè)內(nèi)容管理授權(quán)機制主要包括權(quán)限設(shè)定、權(quán)限查看、權(quán)限繼承、權(quán)限刪除和權(quán)限判斷等。
(1)權(quán)限設(shè)定
創(chuàng)建節(jié)點后判斷是否需要修改節(jié)點權(quán)限,若不需要修改,則自動繼承父節(jié)點權(quán)限;若需要修改,則需對權(quán)限列表進行擴展,新增2 條權(quán)限列表數(shù)據(jù),一條為自定義權(quán)限,另一條為共享權(quán)限。添加權(quán)限列表數(shù)據(jù)后再判斷是否需要新增權(quán)限控制項,若需要新增權(quán)限控制項,則需在權(quán)限列表和權(quán)限控制項關(guān)系表中增加權(quán)限列表和權(quán)限控制項關(guān)聯(lián)關(guān)系。
(2)權(quán)限查看
通過獲取節(jié)點ID 查找節(jié)點表中節(jié)點關(guān)聯(lián)的權(quán)限列表ID,進而查詢權(quán)限列表和權(quán)限控制項關(guān)系表中權(quán)限列表ID 對應(yīng)的權(quán)限控制項,返回對應(yīng)的權(quán)限控制項。
(3)權(quán)限繼承
創(chuàng)建子節(jié)點時默認(rèn)繼承父節(jié)點權(quán)限,子節(jié)點自動獲取父節(jié)點權(quán)限列表ID 對應(yīng)權(quán)限控制項。若取消子節(jié)點繼承關(guān)系,則權(quán)限列表中的繼承字段設(shè)為假,并新增權(quán)限列表數(shù)據(jù)項。
(4)權(quán)限刪除
刪除節(jié)點權(quán)限時需先刪除權(quán)限列表和權(quán)限控制項關(guān)系表中的權(quán)限列表和權(quán)限控制項,此外還需刪除繼承此節(jié)點權(quán)限的權(quán)限控制項,繼承的權(quán)限項通過權(quán)限列表和權(quán)限控制項關(guān)系表中的位置字段來判斷,位置序號大于此節(jié)點的權(quán)限項需刪除。
(5)權(quán)限判斷
首先獲取用戶節(jié)點列表,通過節(jié)點列表獲取節(jié)點對應(yīng)的權(quán)限列表ID,進而獲取權(quán)限列表ID 對應(yīng)權(quán)限控制項,查找基礎(chǔ)權(quán)限對應(yīng)的操作權(quán)限,返回用戶操作列表。
依據(jù)鐵路項目內(nèi)容管理需求,系統(tǒng)管理員創(chuàng)建鐵路項目資料庫,為項目管理員授權(quán)管理者角色;項目管理員創(chuàng)建建設(shè)單位資料庫、設(shè)計單位資料庫、施工單位資料和監(jiān)理單位資料庫,并將各單位管理員授權(quán)管理者角色;各單位管理員登錄系統(tǒng),根據(jù)各單位內(nèi)容管理需求創(chuàng)建各單位資料庫,其中建設(shè)單位管理員分別為工程部和質(zhì)安部文件夾授權(quán)。部分資料庫目錄樹如圖6 所示。通過分級授權(quán)項目管理員、單位管理員和文檔所有者可實現(xiàn)設(shè)定、查看、判斷和繼承權(quán)限。
當(dāng)施工單位管理員對本單位“線路綜合”文件夾重新進行授權(quán)時,取消線路綜合文件夾的繼承權(quán)限,圖6 中的“線路”與“線路綜合”文件夾的繼承鏈斷開。重新對“線路綜合”文件夾進行自定義授權(quán)時,同時生成2 條權(quán)限數(shù)據(jù),分別為自定義權(quán)限和共享權(quán)限,“線路綜合”文件夾對應(yīng)的節(jié)點權(quán)限為自定義權(quán)限,“水準(zhǔn)表”文件繼承“線路綜合”文件夾節(jié)點的權(quán)限,水準(zhǔn)表文件對應(yīng)的節(jié)點權(quán)限為共享權(quán)限。鐵路建設(shè)單位和各參建單位基于本文設(shè)計的權(quán)限控制模型可靈活配置和修改各單位職責(zé)范圍內(nèi)的內(nèi)容訪問權(quán)限。

圖6 資料庫目錄樹
依據(jù)本文設(shè)計并實現(xiàn)的鐵路建設(shè)行業(yè)內(nèi)容管理權(quán)限模型,搭建了鐵路建設(shè)內(nèi)容管理系統(tǒng),對鐵路建設(shè)項目立項、審批、招投標(biāo)、勘察設(shè)計、施工、監(jiān)理、竣工驗收等全生命周期內(nèi)文檔進行統(tǒng)一管理。鐵路建設(shè)內(nèi)容管理系統(tǒng)以電子文檔全過程管理為指導(dǎo)思想,針對權(quán)限精細(xì)化管控需求進行模塊化設(shè)計,具有高內(nèi)聚、低耦合的特點。
鐵路建設(shè)內(nèi)容管理系統(tǒng)權(quán)限管理模塊如圖7 所示,通過基礎(chǔ)權(quán)限、角色授權(quán)配置,滿足了鐵路建設(shè)多層級、細(xì)粒度內(nèi)容管理需求,實現(xiàn)了鐵路建設(shè)項目信息共享與交互;通過統(tǒng)一的文檔創(chuàng)建、存儲、流轉(zhuǎn)、利用和歸檔,推動了鐵路建設(shè)項目的信息化、標(biāo)準(zhǔn)化管理。

圖7 鐵路建設(shè)內(nèi)容管理系統(tǒng)權(quán)限管理
鐵路建設(shè)行業(yè)存在巨大的內(nèi)容管理需求。本文設(shè)計了一套適用于鐵路建設(shè)行業(yè)內(nèi)容管理的權(quán)限模型;對權(quán)限模型、權(quán)限映射及權(quán)限設(shè)定、查看、繼承、刪除、判斷等授權(quán)機制和授權(quán)流程進行研究,并通過搭建鐵路建設(shè)內(nèi)容管理系統(tǒng)予以應(yīng)用,滿足了鐵路建設(shè)單位和參建單位靈活化、個性化、高效化管理需求,同時也為鐵路建設(shè)行業(yè)內(nèi)容管理提供了通用解決方案。該模型對于提高企業(yè)競爭力,助力鐵路數(shù)字化轉(zhuǎn)型,進而打造智能鐵路具有積極意義。