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