周思嘉,郭慶勝,張 健
(武漢大學(xué) 資源與環(huán)境科學(xué)學(xué)院,湖北 武漢 430079)
近年來,隨著地理信息系統(tǒng)的發(fā)展,地理信息系統(tǒng)技術(shù)廣泛應(yīng)用于電子政務(wù)建設(shè)中,各種基于Internet的電子政務(wù)空間信息平臺(tái)層出不窮[1-6],而權(quán)限管理系統(tǒng)作為電子政務(wù)空間信息平臺(tái)的重要組成部分,為解決系統(tǒng)的安全性問題、增強(qiáng)系統(tǒng)的多用性等提供了重要保障?;诮巧L問控制(role based access control,RBAC)模型是近來廣泛流行的安全訪問控制模型,基本思想是在將權(quán)限與角色相關(guān)聯(lián),對角色授予最小而必要的權(quán)限,用戶通過成為適當(dāng)角色的成員而得到這些角色的權(quán)限[7]。目前專家學(xué)者圍繞角色訪問控制模型本身及電子政務(wù)權(quán)限需求進(jìn)行大量研究,提出很多基于RBAC的擴(kuò)展模型[8-12]。蔣富偉等構(gòu)建基于角色的擴(kuò)展授權(quán)模型,使用向上查詢授權(quán)人的集中與分散授權(quán)方法,提出基于角色的交叉集散授權(quán)策略,有效解決電子政務(wù)中權(quán)限有交叉的授權(quán)管理問題[8];趙再軍借鑒基于角色的訪問控制思想,提出基于用戶、角色和權(quán)限分配的電子政務(wù)訪問控制模型,并就發(fā)生訪問沖突情況下的調(diào)停問題給出算法實(shí)現(xiàn)思想[10];胡領(lǐng)、畢利在傳統(tǒng)的RBAC模型的基礎(chǔ)上引入了崗位和機(jī)構(gòu)兩個(gè)實(shí)體,使得權(quán)限的管理配置更加靈活,同時(shí)增加了數(shù)據(jù)權(quán)限管理,實(shí)現(xiàn)數(shù)據(jù)權(quán)限和功能權(quán)限的集成處理[12];同時(shí),也有部分學(xué)者將地理信息特點(diǎn)作為參考因素[13-15],王衛(wèi)國、閭國年將電子政務(wù)中的GIS(Geographic Information System)權(quán)限分為非流程和流程權(quán)限,實(shí)現(xiàn)權(quán)限按需、按流程分配,而權(quán)限的分配與回收由系統(tǒng)動(dòng)態(tài)實(shí)現(xiàn)[13]。袁煜鋒、吳建平研究通過動(dòng)態(tài)創(chuàng)建和管理用戶及角色,賦予不同角色相應(yīng)網(wǎng)頁訪問權(quán)限和功能,再將角色分配給不同用戶實(shí)現(xiàn)權(quán)限管理,加強(qiáng)了地理信息的安全性[14];胡騰波、葉建栲將用戶所處的歷史時(shí)期和位置作為對用戶的訪問資源請求做出決策的重要參考依據(jù)[15]。
目前關(guān)于電子政務(wù)空間信息平臺(tái)權(quán)限管理方法所做研究和應(yīng)用,主要存在以下問題:
1)地理信息具有數(shù)量大、更新快的特點(diǎn),電子政務(wù)空間信息平臺(tái)中角色多、部門多、關(guān)系復(fù)雜,目前的權(quán)限管理方法對于頻繁的空間數(shù)據(jù)權(quán)限修改而言不夠靈活。
2)在進(jìn)行權(quán)限設(shè)置時(shí)往往忽視地理信息的空間特性,簡單的資源與功能的權(quán)限分配,無法滿足政府單位內(nèi)部的資源權(quán)限設(shè)置,即上級部門根據(jù)下級部門區(qū)域進(jìn)行資源權(quán)限分配。
3)通常用戶只能對其所管轄的空間范圍內(nèi)的數(shù)據(jù)進(jìn)行操作和瀏覽,但在實(shí)際運(yùn)行中,事務(wù)可能會(huì)涉及多個(gè)單位,需要相鄰或相關(guān)區(qū)域密配合,目前的權(quán)限管理方法無法滿足不同單位之間的合作與共享。
本文在已有研究成果的基礎(chǔ)上,針對以上問題,試圖提出固有權(quán)限和動(dòng)態(tài)權(quán)限相結(jié)合的方法來管理權(quán)限,并盡量用政府機(jī)構(gòu)管理的空間范圍作為約束。
考慮到政府機(jī)構(gòu)包括若干獨(dú)立單位,每個(gè)單位中又包含若干部門,且部門之間存在分級,所以在模型設(shè)計(jì)中將一個(gè)單位可使用的全部數(shù)據(jù)圖層抽象為資源,一個(gè)資源集是部分資源的集合,角色擁有一個(gè)資源集和多個(gè)功能,用戶最后被賦予一個(gè)或多個(gè)角色。同時(shí),進(jìn)行了角色的分層,同單位下,不同部門之間可以存在上下級的區(qū)別,角色的固有權(quán)限由其直屬上級部門角色確定,即直屬上級角色可以動(dòng)態(tài)設(shè)置與修改下級角色的資源集與功能;用戶的動(dòng)態(tài)權(quán)限由外單位角色設(shè)置。
權(quán)限管理過程中的流程如圖1所示,這里以擁有a角色的用戶ai為例,其流程是:①用戶ai進(jìn)行登錄,請求身份認(rèn)證;②身份認(rèn)證機(jī)制通過后,從權(quán)限數(shù)據(jù)庫和該角色的固有資源JSON文件中獲取相關(guān)信息,用戶ai獲取固有權(quán)限;③用戶ai的固有權(quán)限由其角色的直屬上級角色進(jìn)行設(shè)置,包括資源集與功能,資源集中可能包括本單位資源和外單位對本單位固定開放的資源;④當(dāng)相關(guān)空間事務(wù)協(xié)作開始時(shí),其他單位的部門直接開放動(dòng)態(tài)權(quán)限給角色a;⑤用戶ai獲取相關(guān)動(dòng)態(tài)權(quán)限;⑥當(dāng)相關(guān)空間事務(wù)結(jié)束,權(quán)限收回。
圖1 權(quán)限管理過程中的流程
1)靈活的權(quán)限修改設(shè)計(jì)。電子政務(wù)空間信息平臺(tái)的權(quán)限管理對象主要是地圖圖層數(shù)據(jù)資源,針對圖層數(shù)據(jù)數(shù)量多、更新快的特點(diǎn),本文將部分資源封裝成一個(gè)個(gè)資源集,其中包括對圖層屬性描述等的設(shè)置,便于前端瀏覽系統(tǒng)的查看。通過角色分層為每個(gè)角色分配一個(gè)資源集,當(dāng)角色資源權(quán)限發(fā)生變化時(shí),可以直接對其資源集中的服務(wù)進(jìn)行增刪或修改,而不需重新為角色分配成百上千個(gè)服務(wù)。
2)固有權(quán)限與動(dòng)態(tài)權(quán)限相結(jié)合。另外,用戶有正常的訪問需要和在空間數(shù)據(jù)分析中對某些數(shù)據(jù)的臨時(shí)需求,因此,這里采用角色固有權(quán)限和動(dòng)態(tài)權(quán)限相結(jié)合的方法。在動(dòng)態(tài)角色權(quán)限中,用戶在空間分析的基礎(chǔ)上,對涉及該空間事物的其他部門進(jìn)行相關(guān)信息的開放,共享數(shù)據(jù),協(xié)同操作,當(dāng)事務(wù)結(jié)束或者終止時(shí),權(quán)限收回。在角色固有權(quán)限中,一部分是本單位發(fā)布的資源,另一部分是其他單位通過信息抽象和加密處理,以服務(wù)目錄等加密形式固定開放給本單位的資源,如圖2所示,對外開放的服務(wù)加密分為四級:
一級加密:完全開放,即將服務(wù)的圖層內(nèi)容與圖層信息均開放給對方單位;
二級加密:在一級加密的基礎(chǔ)上進(jìn)行了圖層內(nèi)容抽象,采用制圖綜合的方式;
三級加密:在一級加密的基礎(chǔ)上將圖層內(nèi)容作為保密數(shù)據(jù),不予開放;
四級加密:將圖層內(nèi)容和圖層信息都保密,只開放圖層名,方便對方單位查看整體服務(wù)目錄列表。
圖2 信息抽象與加密處理
3)空間相關(guān)的權(quán)限設(shè)置策略。在政務(wù)管理中往往有空間區(qū)域的限制,也就是說,需要對現(xiàn)有數(shù)據(jù)資源進(jìn)行空間劃分與分配。這種策略運(yùn)用主要表現(xiàn)在兩個(gè)方面:
同單位中,上級部門角色設(shè)置下級部門角色時(shí),可以利用GP服務(wù)在線對服務(wù)進(jìn)行空間處理,只開放下級角色管轄范圍內(nèi)的服務(wù)數(shù)據(jù)給下級角色,如圖3所示。
跨單位時(shí),單位可以使用待協(xié)作事務(wù)的服務(wù)圖層,通過GP服務(wù)在線進(jìn)行空間分析,得到與該事務(wù)空間相關(guān)的其他單位的部門列表,手動(dòng)勾選進(jìn)行對外臨時(shí)權(quán)限的開放,如圖4所示。
圖3 單位內(nèi)部的空間相關(guān)權(quán)限設(shè)置策略
圖4 單位之間的空間相關(guān)權(quán)限設(shè)置策略
采用上述權(quán)限管理策略,本文以Eclipse為開發(fā)工具,以襄陽市為對象,在ArcGIS10.2軟件環(huán)境上設(shè)計(jì)并實(shí)現(xiàn)了襄陽市“一張圖”空間信息云平臺(tái)的后臺(tái)權(quán)限管理子系統(tǒng)。根據(jù)襄陽市政府單位實(shí)際設(shè)置情況,系統(tǒng)角色劃分為四級:系統(tǒng)管理員、一級管理員、二級管理員和普通用戶,如圖5所示;后臺(tái)權(quán)限管理子系統(tǒng)功能設(shè)計(jì)如圖6所示。
圖5 系統(tǒng)權(quán)限分級
系統(tǒng)架構(gòu)如圖7所示,用戶通過身份驗(yàn)證機(jī)制進(jìn)行登錄,加載基礎(chǔ)個(gè)人功能,再根據(jù)角色類型加載對應(yīng)的管理模塊:其中普通用戶無對應(yīng)管理模塊;超級管理員與二級管理員有角色管理與用戶管理模塊;一級管理員在前者基礎(chǔ)上,增加了角色權(quán)限管理模塊。根據(jù)角色所處的單位部門加載數(shù)據(jù),其中普通用戶數(shù)據(jù)包括個(gè)人信息,二級管理員數(shù)據(jù)包括個(gè)人信息與下級用戶信息,超級管理員數(shù)據(jù)包括個(gè)人信息、下級部門及用戶信息,一級管理員除了擁有個(gè)人信息、下級部門及用戶信息外,還擁有地圖倉庫和已有資源集數(shù)據(jù);個(gè)人信息、下級部門及用戶信息用MySQL權(quán)限管理數(shù)據(jù)庫存儲(chǔ),地圖倉庫包括本單位發(fā)布的ArcGIS Server服務(wù)與外單位對本單位固定開放的服務(wù),已有資源集是部分資源(服務(wù))的集合,每個(gè)資源集以獨(dú)立JSON文件格式存儲(chǔ),用于對下級部門進(jìn)行資源權(quán)限設(shè)置。
圖6 后臺(tái)權(quán)限管理子系統(tǒng)功能設(shè)計(jì)
圖7 后臺(tái)權(quán)限管理子系統(tǒng)架構(gòu)
系統(tǒng)的角色權(quán)限管理涉及下級部門權(quán)限設(shè)置、對外固定開放權(quán)限設(shè)置和臨時(shí)空間事務(wù)協(xié)作三個(gè)部分。
在設(shè)置下級部門權(quán)限功能中,一級管理員登錄后,可以在新建資源集功能中查看本單位使用ArcGIS Server發(fā)布的所有服務(wù)信息和外單位固定開放給本單位的所有服務(wù)信息,通過勾選所需服務(wù)、補(bǔ)充圖層相關(guān)信息,新建資源集,資源集以獨(dú)立JSON文件格式存儲(chǔ),在選擇服務(wù)時(shí),可以使用ArcGIS Server發(fā)布的Clip服務(wù)對地圖要素服務(wù)進(jìn)行下級部門管轄區(qū)域的空間劃分;在設(shè)置下屬二級管理員權(quán)限時(shí),選定資源集、勾選所需功能,資源集確定了該角色下用戶登錄前端數(shù)據(jù)瀏覽子系統(tǒng)時(shí)可瀏覽操作的圖層服務(wù);在管理資源集功能中,可以查看已有資源集的詳細(xì)信息,允許修改服務(wù)圖層相關(guān)信息、刪除服務(wù)等操作。
在設(shè)置對外固定開放權(quán)限功能中,瀏覽本單位發(fā)布的所有ArcGIS Server地圖服務(wù)和要素服務(wù),可以修改服務(wù)的詳細(xì)信息;選定一個(gè)或者多個(gè)外單位,為每個(gè)服務(wù)添選擇加密級數(shù),默認(rèn)加密級數(shù)為四級,即只開放服務(wù)名,在前端數(shù)據(jù)瀏覽子系統(tǒng)中只以目錄的形式開放給其他單位,三級加密開放服務(wù)名與服務(wù)詳細(xì)信息,二級加密開放服務(wù)名與服務(wù)詳細(xì)信息與使用ArcGIS Server發(fā)布的“制圖綜合”服務(wù)抽象后的地圖要素服務(wù),四級加密則開放完全信息。
在臨時(shí)空間事務(wù)協(xié)作功能中,用戶可以查看已完成的和正在進(jìn)行的空間事務(wù),也可以新建空間事務(wù),通過GP服務(wù)在線對事務(wù)圖層進(jìn)行空間分析處理,手動(dòng)勾選開放給相關(guān)單位,修改外單位臨時(shí)資源集JSON文件,當(dāng)事務(wù)結(jié)束時(shí),需要在正在進(jìn)行的空間事務(wù)中手動(dòng)結(jié)束,權(quán)限收回。以襄陽市民政局為例,將某區(qū)域的地名地址圖層進(jìn)行空間分析,開放給空間相關(guān)的各區(qū)級公安局,由公安局二級單位管理員在前端子系統(tǒng)中進(jìn)行該圖層的瀏覽,并在臨時(shí)圖層上進(jìn)行臨時(shí)地名地址采集與標(biāo)注,提交審核申請,再由襄陽市民政局在前端進(jìn)行要素信息的審核,若通過,則在線添加到地名地址圖層中,當(dāng)事務(wù)結(jié)束,襄陽市民政局在后臺(tái)結(jié)束事務(wù),權(quán)限收回。臨時(shí)權(quán)限開放流程如圖8所示,在此前已經(jīng)發(fā)布了ArcGIS“空間連接”操作的GP服務(wù),將目標(biāo)要素的輸入模式設(shè)置為用戶自定義值,連接要素的輸入模式設(shè)置為選擇列表,列表為各單位區(qū)級行政區(qū)劃圖;用戶進(jìn)行操作時(shí),選定地名地址地圖服務(wù),從外單位列表中選擇外單位,此處為襄陽市公安局,進(jìn)行空間事務(wù)分析處理,如圖8所示的流程,通過身份驗(yàn)證,從地名地址服務(wù)網(wǎng)址獲取該圖層的FeatureSet,獲取外單位區(qū)級行政區(qū)劃圖名;以FeatureSet與區(qū)劃圖名為參數(shù),調(diào)用“空間連接”服務(wù),對返回的JSON進(jìn)行解析,過濾得到空間相關(guān)的外單位區(qū)級部門;在圖8的流程中,返回相關(guān)外單位區(qū)級列表給襄陽市民政局,再由襄陽市民政局進(jìn)行選擇,修改選定部門的臨時(shí)JSON資源集文件與權(quán)限數(shù)據(jù)庫,對其開放地名地址服務(wù)。
圖8 系統(tǒng)臨時(shí)空間事務(wù)處理流程(以地名地址審核為例)
本文結(jié)合電子政務(wù)及地理信息的特點(diǎn),提出一種更為靈活的權(quán)限管理方法:將部分資源封裝成資源集,再通過角色分層為每個(gè)角色分配一個(gè)資源集,當(dāng)角色資源權(quán)限發(fā)生變化時(shí),可以直接對其資源集進(jìn)行服務(wù)的增刪或?qū)ζ渲邢嚓P(guān)服務(wù)進(jìn)行修改,而不需重新為角色分配成百上千個(gè)服務(wù);研究一種固有權(quán)限與動(dòng)態(tài)權(quán)限相結(jié)合的權(quán)限修改方法;同時(shí)將權(quán)限分配與部門所管轄區(qū)域關(guān)聯(lián)起來,提出一種空間相關(guān)的權(quán)限設(shè)置策略。本文以襄陽市“一張圖”空間信息云平臺(tái)為例,詳細(xì)說明本文權(quán)限管理策略的具體實(shí)現(xiàn),依據(jù)該方法開發(fā)的權(quán)限管理軟件模型的應(yīng)用表明:本文提出的權(quán)限模型具有可實(shí)現(xiàn)性與可操作性,權(quán)限修改靈活,利于資源共享與協(xié)同辦公。