李江鑫,張曉韜,劉廷峰,周平
(四川中電啟明星信息技術(shù)有限公司,四川成都 610000)
隨著信息技術(shù)的飛速發(fā)展,有價值的業(yè)務(wù)不斷被發(fā)掘,旅游集團公司不斷構(gòu)建面向不同業(yè)務(wù)需求的信息系統(tǒng)。與此同時,面臨的網(wǎng)絡(luò)主體身份難以確認(rèn),網(wǎng)絡(luò)資源非授權(quán)訪問等網(wǎng)絡(luò)安全問題日益突出,極大地阻礙了企業(yè)發(fā)展,員工個人隱私、企業(yè)信息安全面臨著嚴(yán)重的威脅。2 0 1 6 年我國頒布的《網(wǎng)絡(luò)安全法》中第二十四條提到,“國家實施網(wǎng)絡(luò)可信身份戰(zhàn)略,支持研究開發(fā)安全、方便的電子身份認(rèn)證技術(shù),推動不同電子身份認(rèn)證之間的互認(rèn)”[1],因此梳理身份認(rèn)證技術(shù)發(fā)展現(xiàn)狀和趨勢,針對旅游集團公司現(xiàn)狀構(gòu)建符合企業(yè)實際需求的統(tǒng)一身份認(rèn)證系統(tǒng)具有重要意義。
旅游集團公司因其業(yè)務(wù)特殊性,形成了以旅游文化為主業(yè),旅游地產(chǎn)、旅游金融及相關(guān)業(yè)務(wù)并舉的產(chǎn)業(yè)格局,在管理上存在人員分布廣、流動性強,組織機構(gòu)變更頻繁等特點。隨著大量的信息系統(tǒng)被建立和推廣, IT系統(tǒng)在幾個方面問題變得越來越突出:
(1)各信息系統(tǒng)用戶管理彼此孤立;
(2)各系統(tǒng)缺乏賬號的全生命周期管理;
(3)賬戶管理和命名規(guī)則不統(tǒng)一;
(4)數(shù)據(jù)和訪問安全無法得到保障。
為了統(tǒng)一公司的用戶身份安全管理,實現(xiàn)統(tǒng)一的賬戶全生命周期管理、統(tǒng)一的訪問安全管理、統(tǒng)一的認(rèn)證、授權(quán)及單點登錄,提升集團的合規(guī)水平與用戶體驗,提高運維工作效率并降低實體運營成本,需建設(shè)統(tǒng)一身份管理平臺。
中國旅游集團有限公司統(tǒng)一身份認(rèn)證系統(tǒng)采用三層B/S(瀏覽器/服務(wù)器)架構(gòu)設(shè)計,即客戶端瀏覽器層、Web服務(wù)層、數(shù)據(jù)庫層,如圖1所示。服務(wù)器的操作系統(tǒng)環(huán)境是CentOS 7,客戶端瀏覽器的品牌種類不限。
圖1 系統(tǒng)架構(gòu)圖
系統(tǒng)主要由三個層次構(gòu)成,展現(xiàn)管理層、服務(wù)層、數(shù)據(jù)存儲。展現(xiàn)管理主要負(fù)責(zé)系統(tǒng)的業(yè)務(wù)功能、集成功能及審計功能的展現(xiàn)和交互;服務(wù)層為展現(xiàn)管理層提供各類服務(wù)接口支持;數(shù)據(jù)存儲負(fù)責(zé)持久化數(shù)據(jù)的讀取與保存。展現(xiàn)管理層與服務(wù)層通過HTTP、HTTPS、TCP協(xié)議通信,服務(wù)層與數(shù)據(jù)存儲通過JDBC、LDAP及SOAP協(xié)議進行通信。
3.1.1 展現(xiàn)管理層
由統(tǒng)一認(rèn)證、身份管理、權(quán)限管理、資源管理、審計管理、集成管理、平臺展現(xiàn)組件構(gòu)成。主要負(fù)責(zé)系統(tǒng)業(yè)務(wù)管理與服務(wù)交互的代理接口、業(yè)務(wù)功能與用戶的頁面交互、權(quán)限系統(tǒng)與業(yè)務(wù)應(yīng)用的集成交互等。
3.1.2 服務(wù)層
由核心業(yè)務(wù)接口、安全控制、緩存管理、事件管理及平臺基礎(chǔ)組件構(gòu)成。主要負(fù)責(zé)提供系統(tǒng)對外的核心業(yè)務(wù)接口服務(wù),包括資源管理、用戶鑒權(quán)、資源注冊等服務(wù)。
3.1.3 數(shù)據(jù)存儲
提供對整個系統(tǒng)的數(shù)據(jù)持久化,數(shù)據(jù)存儲類型包括數(shù)據(jù)庫、文件和LDAP。
將平臺分為六大應(yīng)用模塊,分別是接口服務(wù)、身份認(rèn)證模塊、權(quán)限管理模塊、身份管理模塊、安全審計模塊、數(shù)據(jù)集成模塊;平臺通過這六大服務(wù)模塊實現(xiàn)企業(yè)身份對象、身份認(rèn)證、權(quán)限與安全審計的統(tǒng)一與整體管控,系統(tǒng)應(yīng)用架構(gòu)如圖2所示。
3.2.1 接口服務(wù)模塊
接口服務(wù)是平臺面向企業(yè)應(yīng)用系統(tǒng)或設(shè)備開放的遠(yuǎn)程業(yè)務(wù)接口,企業(yè)應(yīng)用系統(tǒng)通過調(diào)用此遠(yuǎn)程服務(wù)接口來獲得平臺的相關(guān)業(yè)務(wù)支持。按平臺業(yè)務(wù)分類將接口分為認(rèn)證接口、會話接口、權(quán)限接口、審計接口四個類型。認(rèn)證接口主要提供身份認(rèn)證和鑒別等業(yè)務(wù);會話接口提供會話查詢、注銷等相關(guān)業(yè)務(wù);權(quán)限接口主要提供身份權(quán)限查詢和鑒別方面的業(yè)務(wù);審計接口則提供審計日志寫入與查詢方面的業(yè)務(wù)。
圖2 系統(tǒng)應(yīng)用架構(gòu)
3.2.2 身份認(rèn)證模塊
身份認(rèn)證服務(wù)主要處理身份有效性驗證邏輯,提供多樣的、靈活的身份認(rèn)證方式和策略,滿足不同級別的身份鑒別要求。除此之外,還支持與外部的第三方認(rèn)證源的集成,例如目錄服務(wù)、CA認(rèn)證服務(wù)等,實現(xiàn)分發(fā)認(rèn)證,形成強大的聯(lián)盟認(rèn)證機制。身份認(rèn)證服務(wù)在整個企業(yè)信息化架構(gòu)中扮演著身份鑒別中心的重要角色,因此身份認(rèn)證服務(wù)也稱“統(tǒng)一認(rèn)證服務(wù)”。
3.2.3 權(quán)限管理模塊
權(quán)限管理服務(wù)是平臺實現(xiàn)權(quán)限控制的最主要的業(yè)務(wù),實現(xiàn)授權(quán)實體管理和授權(quán)過程管理,實體管理包括角色管理和資源管理;授權(quán)過程管理主要實現(xiàn)身份權(quán)限授予,權(quán)限委托、歸并
和回收等。
3.2.4 身份管理模塊
身份管理實現(xiàn)對多種身份實體的定義和管理,涵蓋企業(yè)行政組織、人員、崗位等數(shù)據(jù)管理維護的過程,具體體現(xiàn)在用戶、賬號、口令、組織機構(gòu)等業(yè)務(wù)域。
3.2.5 安全審計模塊
安全審計服務(wù)的應(yīng)用目標(biāo)是收集企業(yè)信息架構(gòu)中應(yīng)用系統(tǒng)、中間件服務(wù)、第三方設(shè)備以及權(quán)限平臺本身的用戶行為日志,為審計人員提供信息安全審計基礎(chǔ)數(shù)據(jù)。通過提供審計信息檢索、多樣的定制性審計分析以及報表展示來輔助審計人員實現(xiàn)對企業(yè)信息安全的監(jiān)管。
3.2.6 數(shù)據(jù)集成模塊
數(shù)據(jù)集成服務(wù)負(fù)責(zé)平臺與外部系統(tǒng)或數(shù)據(jù)源間的數(shù)據(jù)交互。交互方法典型地包括數(shù)據(jù)推送、數(shù)據(jù)抽取、數(shù)據(jù)接口等,并且在交互過程中記錄交互日志,確保交互數(shù)據(jù)的可追溯。通過此服務(wù)打通平臺核心業(yè)務(wù)與外部應(yīng)用的數(shù)據(jù)共享,確保用戶身份權(quán)限在企業(yè)內(nèi)部的整體一致性。
整個平臺由若干個服務(wù)模塊(邏輯單元)構(gòu)成,通過各個服務(wù)或模塊間的相互協(xié)作來支撐客戶需求。按應(yīng)用邏輯劃分,平臺由六大邏輯單元構(gòu)成,包括平臺基礎(chǔ)服務(wù)、平臺業(yè)務(wù)服務(wù)、平臺管理服務(wù)、平臺接口服務(wù)、運行監(jiān)控服務(wù)、數(shù)據(jù)集成服務(wù),如圖3所示。
圖3 邏輯架構(gòu)圖
3.3.1 平臺基礎(chǔ)服務(wù)
平臺基礎(chǔ)服務(wù)主要為整個平臺提供基礎(chǔ)支撐,它主要由一系列的第三方服務(wù)或中間件構(gòu)成,例如消息服務(wù)、緩存服務(wù)、配置服務(wù)、存儲服務(wù)等;平臺的上層應(yīng)用功能均通過利用這些基礎(chǔ)服務(wù)來達(dá)成。
3.3.2 平臺業(yè)務(wù)服務(wù)
平臺業(yè)務(wù)服務(wù)是平臺系統(tǒng)的業(yè)務(wù)核心,包括身份管理、認(rèn)證管理、權(quán)限管理與審計管理。該服務(wù)是實現(xiàn)產(chǎn)品具體業(yè)務(wù)邏輯的企業(yè)級組件,從技術(shù)架構(gòu)上它依賴于平臺基礎(chǔ)服務(wù)完成業(yè)務(wù)數(shù)據(jù)的管理與存儲;另一方面,平臺業(yè)務(wù)服務(wù)對外開放遠(yuǎn)程接口,供前端應(yīng)用或其它企業(yè)應(yīng)用調(diào)用。業(yè)務(wù)服務(wù)中的幾大模塊對于客戶實施來說是可選的,客戶可以根據(jù)自身情況選擇所需部署的業(yè)務(wù)模塊。
3.3.3 運行監(jiān)控服務(wù)
運行監(jiān)控服務(wù)在邏輯上是劃分到平臺基礎(chǔ)服務(wù)范圍內(nèi),但從應(yīng)用架構(gòu)上其是一個可獨立運行的模塊。它主要收集平臺各方面的運行狀態(tài),向管理員提供平臺環(huán)境健康報告和預(yù)警。監(jiān)控服務(wù)也對外發(fā)布接口,可供上層或前端應(yīng)用調(diào)用;運行監(jiān)控服務(wù)也是客戶可選模塊。
3.3.4 平臺管理服務(wù)
平臺管理服務(wù)即平臺產(chǎn)品管理端應(yīng)用。向管理員和用戶提供平臺業(yè)務(wù)與系統(tǒng)的管理主界面,此管理服務(wù)是平臺客戶的必選服務(wù)。
3.3.5 平臺接口服務(wù)
平臺接口服務(wù)是向外部應(yīng)用開放權(quán)限查詢的接口;所有的權(quán)限查詢相關(guān)的業(yè)務(wù)都由此服務(wù)代理,目的是提供一個支撐高性能、大并發(fā)的權(quán)限查詢服務(wù)。
3.3.6 數(shù)據(jù)集成服務(wù)
數(shù)據(jù)集成服務(wù)負(fù)責(zé)平臺與外部系統(tǒng)或數(shù)據(jù)源間的數(shù)據(jù)交互。交互方法典型地包括數(shù)據(jù)推送、數(shù)據(jù)抽取、數(shù)據(jù)接口等,并且在交互過程中記錄交互日志,確保交互數(shù)據(jù)的可追溯。通過此服務(wù)打通平臺核心業(yè)務(wù)與外部應(yīng)用的數(shù)據(jù)共享,確保用戶身份權(quán)限在企業(yè)內(nèi)部的整體一致性。
旅游集團公司統(tǒng)一身份認(rèn)證系統(tǒng)需要與多個異構(gòu)系統(tǒng)完成集成,實現(xiàn)數(shù)據(jù)同步,需要設(shè)計一個滿足異構(gòu)系統(tǒng)的數(shù)據(jù)同步機制。同時,因統(tǒng)一身份認(rèn)證系統(tǒng)作為集團認(rèn)證中心,對系統(tǒng)運行穩(wěn)定性具有極高的要求,面臨較大的運行風(fēng)險,通過采用分布式緩存結(jié)合熱點數(shù)據(jù)監(jiān)控技術(shù),可有效提升系統(tǒng)穩(wěn)定性[2]。
旅游集團公司統(tǒng)一身份認(rèn)證平臺在運業(yè)務(wù)系統(tǒng)多且身份權(quán)限獨立建設(shè),導(dǎo)致身份權(quán)限數(shù)據(jù)結(jié)構(gòu)和授權(quán)方式存在較大的差異性,采用傳統(tǒng)的分發(fā)方式數(shù)據(jù)量大,不僅占用網(wǎng)絡(luò)資源,目標(biāo)系統(tǒng)還會收到大量冗余信息,導(dǎo)致在數(shù)據(jù)解析上消耗性能。
圖4 同步策略圖
本系統(tǒng)通過建立一種基于消息和分發(fā)策略的數(shù)據(jù)同步方式,首先建立一套數(shù)據(jù)傳輸規(guī)范,規(guī)定了數(shù)據(jù)分發(fā)格式,明確了字段意義;同時在平臺管理端,為各個注冊到管理平臺的業(yè)務(wù)提供分發(fā)策略配置界面,各個系統(tǒng)根據(jù)集成方案配置各自的分發(fā)策略。管理端的權(quán)限管理操作會以消息形式發(fā)送至同步適配器端,適配器分析消息并依照對應(yīng)系統(tǒng)的分發(fā)策略,將其需要的數(shù)據(jù)準(zhǔn)確投送至目標(biāo)系統(tǒng)[3]。
本系統(tǒng)作為業(yè)務(wù)系統(tǒng)的鑒權(quán)中心,因此每日要承載上億次鑒權(quán)服務(wù),性能壓力巨大,且一旦服務(wù)意外中止,將影響所有相關(guān)業(yè)務(wù)系統(tǒng)的正常訪問。該同步模式滿足了對不同權(quán)限模型業(yè)務(wù)系統(tǒng)間在數(shù)據(jù)同步可靠性和穩(wěn)定性的需求,以最小的代價實現(xiàn)了對在運業(yè)務(wù)系統(tǒng)的權(quán)限集中管控。
為有效支撐鑒權(quán)服務(wù)穩(wěn)定性,本系統(tǒng)采用鑒權(quán)節(jié)點前置技術(shù),通過將鑒權(quán)和查詢計算放到前置節(jié)點來均衡訪問壓力。同時,通過與分布式緩存集成,建立起了由遠(yuǎn)程緩存、接口服務(wù)和前置節(jié)點文件緩存組成的三重服務(wù)保障,結(jié)合消息服務(wù),實現(xiàn)當(dāng)管理端權(quán)限變更時,各級緩存同步更新,有效提升了服務(wù)的穩(wěn)定性。
圖5 鑒權(quán)節(jié)點前置技術(shù)示意
圖6 熱點數(shù)據(jù)監(jiān)控技術(shù)
為了提高緩存命中,使鑒權(quán)前置節(jié)點效能最大化,本系統(tǒng)利用熱點數(shù)據(jù)監(jiān)控,通過計算并生成熱點數(shù)據(jù)表并設(shè)定其范圍,使熱點數(shù)據(jù)在緩存中被持久化,以應(yīng)對高頻率的訪問,同時及時清理非熱點數(shù)據(jù)緩存釋放內(nèi)存。隨著訪問的進行,熱點表里的數(shù)據(jù)也隨之變化,并根據(jù)熱點表記錄動態(tài)地更新緩存中持久化的熱點數(shù)據(jù)。熱點數(shù)據(jù)監(jiān)控極大地提高了緩存命中率,使鑒權(quán)前置節(jié)點效能最大化。該套前置鑒權(quán)節(jié)點體系的建立,有效解決了集中鑒權(quán)服務(wù)所面對的大數(shù)據(jù)、大并發(fā)問題,提升了系統(tǒng)服務(wù)的穩(wěn)定性[4]。
本文提出了一種適用于多應(yīng)用架構(gòu)模式的統(tǒng)一身份認(rèn)證建設(shè)思路,滿足當(dāng)前所有不同應(yīng)用架構(gòu)系統(tǒng)的統(tǒng)一身份認(rèn)證問題,保證了各業(yè)務(wù)集成系統(tǒng)的松散耦合。在此基礎(chǔ)上,給出了統(tǒng)一身份認(rèn)證平臺的設(shè)計模型。該模型能很好地解決企業(yè)內(nèi)部的Web應(yīng)用系統(tǒng)的集中管理和集中認(rèn)證授權(quán)的問題,具有良好的應(yīng)用價值。