潘育明
(長江航道局 武漢 430010)
近年來,隨著IT應用的不斷拓展與深化,應用系統數量越來越多,涉及的業務范圍越來越廣,用戶對系統的依賴程度越來越高。有些單位的各應用系統均獨立管理和運行,開發商及技術平臺不完全統一,用戶訪問不同的系統需要使用多套用戶名密碼進行多次登錄認證;對于系統管理員而言,多個業務系統之間使用不同的用戶數據源,極易造成各系統用戶數據不一致,導致系統管理員工作量大,用戶身份管理和訪問管理變得越來越復雜,客觀上對實現統一用戶管理與單點登錄的需求越來越迫切。例如,長江航道局在數字航道建設的引領下,陸續開發建設了辦公自動化系統、經濟活動管理系統、三重一大決策支持系統、數字航道系統等應用系統,信息化對長江航道養護管理與服務的支撐作用日益凸顯,但這些系統均獨立運行,使用和管理極其不便。據此,長江航道局在系統運行的內網環境中設計開發了統一用戶管理與單點登錄系統,在授予用戶單點登錄訪問系統資源的同時,有效而精確地管理全局用戶。
由于長江航道局總局和局屬各單位都部署了各自的應用系統,故設計在總局和8個局屬單位分別部署統一用戶管理與單點登錄系統,使其為各局分別提供單點登錄和用戶管理服務,并將局屬單位用戶信息數據庫LDAP配置與總局中心LDAP進行數據同步,總局中心可以查看下級單位的用戶信息,形成“1+8”的分級管理結構,實現長江航道局用戶的身份存儲及統一管理、系統級的訪問控制管理,為各應用系統提供統一用戶管理、統一身份認證與單點登錄、待辦事項集中展示和提醒等功能。系統總體架構設計見圖1。

圖1 系統總體架構圖
長江航道局統一用戶管理與單點登錄系統分為單點登錄子系統(SSO子系統)及統一身份認證管理子系統(IDM子系統)。其中統一身份認證管理子系統下有身份認證模塊、統一賬號管理模塊、資源管理模塊、統一授權模塊及統一日志審計等模塊。系統功能結構見圖2。

圖2 系統功能結構圖
實現單點登錄的前提是將所有應用系統的用戶信息進行統一管理并與之前的賬號進行映射,通過統一賬號管理模塊,使用賬號同步技術,實現對各業務系統的賬號統一管理。長江航道局統一用戶管理與單點登錄系統對各擬整合的系統實現統一用戶管理,以某一系統中的賬號作為唯一來源,實現與其它系統實時或定時的組織機構及賬號同步,減少系統管理員的重復工作[1]。以長江南京航道局為例,其用戶信息都在人力資源系統中,因此要求用戶信息與人力資源系統保持一致。通過設置每天的同步時間點、同步周期,或通過手動同步的方式,系統每天定期從人力資源系統中同步變更的組織機構及用戶信息。
傳統的統一用戶管理僅考慮統一用戶管理系統向其他業務系統的賬號的單向同步,本系統設計時還新增了各業務系統向統一用戶管理系統的反向同步。任一業務系統管理員或用戶在修改本系統組織架構、用戶信息時,統一用戶管理平臺均可接收到變動審核信息,由管理員審核通過后,將變動信息反向同步至統一用戶管理平臺,從技術層面避免了賬號多源頭維護造成錯亂,極大提高了系統的實用性、穩定性。
實現統一用戶管理,各業務系統需要配合進行接口開發整合,一般采用2種方式來進行整合:
1) Ldap標準協議方式整合。如果這些業務系統能夠支持ldap協議,則這些業務系統可以通過ldap協議直接獲取到統一用戶與單點登錄系統的用戶,并且通過ldap直接到統一身份與單點登錄平臺中進行認證。
2) Webservice接口方式整合。如果這些業務系統不能夠支持ldap協議,則可以通過業務系統調用統一用戶與單點登錄平臺接口,或者是由統一用戶與單點登錄系統調用業務系統接口的方式來實現同步。
本系統采用Webservice接口方式進行系統整合。本系統向其它業務系統的賬號正向同步,由本系統提供接口,各業務系統調用該接口來實現;其它業務系統向本系統的賬號反向同步,由各業務系統提供接口,本系統調用這些接口來實現。
各單位對擬整合的系統實現統一用戶認證與單點登錄,即用戶一次登錄便可實現對多個應用系統的訪問,無需重復登錄[2]。不整合的系統可按用戶權限展示訪問鏈接。常用的單點登錄解決方案有2種:后置代理解決方案和即插即用解決方案。
后置代理解決方案一般包括的組件為:認證服務器、各種API(Java,Net,JSP,ASP,PHP等)、各種代理Agent。這種解決方案需要用戶改造以前的應用系統,采用方案提供的Agent對應用系統進行修改。改變原有應用系統的認證方式、采用統一身份認證服務器提供的技術進行身份認證。在修改應用的技術方案中,每個應用服務器中都需要安裝1個代理程序完成用戶的身份認證工作。當用戶訪問目標應用服務器時,代理程序向認證服務器詢問該用戶是否已經登錄,如果是,則代理程序從認證服務器中取得該用戶的用戶信息自動登錄該應用系統。登錄成功后,用戶直接訪問該目標服務器。如果未曾登錄過任何應用服務器,則該應用要求用戶進行身份認證,認證結束后,代理程序將認證結果發送給認證服務器。
即插即用解決方案對系統不進行改造,以避免協調難度大,或找不到原開發商而帶來的實施周期長,成本高,或實施半途而廢的現象。此方案通過對系統名稱、IP地址和端口、用戶信息、單點登錄信息、用戶授權等進行配置來實現系統單點登錄。通過這種簡單的配置工作,就可將一些不易改造或是不能接受后置代理方式的應用系統完全整合到單點登錄系統上,這種方案無論對于B/S還是C/S結構的應用系統都適用,尤其是對于C/S結構的應用系統,通過下載SSO 控件,來對用戶實現單點登錄。不用對C/S系統進行改造,避免C/S不易實施單點登錄問題。
后置代理方案和即插即用方案各有優缺點,本項目選擇更易實施的即插即用方案。其中B/S系統實現單點登錄過程如下:
1) 用戶訪問統一身份和單點登錄系統服務器,統一身份和單點登錄系統根據為用戶定義的認證方式對用戶進行認證。
2) 認證成功后,返回此用戶有權限訪問的資源列表。
3) 用戶通過資源列表的鏈接訪問目標應用系統。
4) 統一用戶和單點登錄檢驗當前的用戶會話是否經過認證及授權,如果會話合法,則通過認證授權服務器取得用戶在目標應用系統下的賬號和密碼后,把用戶當前的請求重定向到真正的目標服務器,同時把登錄應用系統時需要用到的賬號、密碼及應用系統需要的其它參數一起提交給應用系統,應用系統完成對當前請求的認證。
5) 認證通過后,用戶與應用系統直接進行正常通訊。
實現C/S系統的單點登錄時,需要安裝一個單點登錄客戶端插件。其主要原理就是單點登錄客戶端插件代填用戶名口令到應用系統客戶端,并且讓應用系統客戶端自動提交完成登錄,達到無需人工輸入,實現登錄系統的目的。
今后還可通過集成多種外置身份認證設備,對外提供統一認證界面、實現多種身份認證方式,如證書、USBKEY、動態口令、指紋等認證手段及這些認證手段的結合。
用戶登錄統一用戶管理與單點登錄系統后,需要調用OA系統、三重一大決策支持系統、經濟活動管理系統等提供的相關接口,集中展現各系統的待辦事項。同時,可通過右下角彈框的方式提醒各系統新增的待辦消息,點擊相應事項的鏈接時,可直接登錄到相應系統。該功能需由業務系統開發人員進行開發提取,在統一用戶管理和單點登錄系統的門戶上通過嵌入iframe方式進行展現。待辦事項抽取業務流程見圖3。

圖3 待辦事項抽取流程
待辦事項抽取業務流程如下:
1) 待辦信息產生時,業務系統向統一用戶管理與單點登錄系統發送待辦數據。
2) 統一用戶管理與單點登錄系統給用戶發送待辦提醒,并可通過點擊待辦鏈接跳轉到業務系統中,進行待辦處理。
3) 待辦被處理后,業務系統向統一用戶管理與單點登錄系統發送待辦刪除信息,統一用戶管理與單點登錄系統將刪除此待辦,不再顯示。
統一認證授權平臺采用基于角色的授權機制,按照單位內部的組織結構劃分角色,并為用戶綁定角色,對于不同的角色分配不同應用系統的訪問權限。系統支持分級授權功能,即支持設置子單位(部門)管理員,部門管理員只可以管理本部門用戶[3]。
目前對于當前的已建系統采用粗粒度授權,即授權粒度只精確到應用系統、設備、主機。統一身份和單點登錄授權粒度還可以不用改造系統實現部分細粒度授權,對于B/S結構的應用系統,統一身份和單點登錄平臺可為其提供基于URL的細粒度訪問權限。為用戶或組設置其可以訪問的Web系統和頁面。
審計是信息系統安全防范措施不可缺少的一部分,它需要可靠地記錄最終用戶和管理人員的訪問過程,建立一套全面、有效的回溯和追查機制,不僅可以讓系統管理員實時監測用戶對各應用系統的訪問狀態,及時發現非法訪問事件,并且對于出現問題的事后追溯也有著重要的意義。
安全審計子系統主要對系統管理員的管理行為和普通用戶的訪問行為進行審計,還可按用戶賬號、系統名稱、時間、異常事件類型等分類進行審計信息的查詢、分析統計,其結果以報表或圖形的方式進行展現,以利于安全事件的快速、直觀把握。
本文基于長江航道局信息化發展現狀及整合需求,闡述了實現統一用戶管理與單點登錄系統的技術方案。該系統通過構建統一的、標準的用戶管理平臺,將各分散的信息系統中的用戶信息整合,實現了用戶信息、賬戶和角色的統一管理,并通過提供統一的單點登錄入口,實現對所有被授權網絡資源的無縫訪問,不僅提高了員工的工作效率,同時也減少了系統管理員的管理成本和工作強度,對于推動長江航道局信息化資源整合具有重要意義。
[1] 嚴駿.單點登錄和統一用戶認證設計與實現[J].信息與電腦(理論版),2016(12):59-60.
[2] 蔡芳.統一用戶與單點登錄實現應用系統集成方法研究引證[J].電腦知識與技術,2016,12(27):188-190.
[3] 胡娟.統一用戶管理與單點登錄系統的設計與實現引證[D].北京:北京郵電大學,2014.