摘 要隨著信息化建設(shè)橫向集成的推進(jìn),對(duì)用戶(hù)身份信息進(jìn)行統(tǒng)一認(rèn)證和為用戶(hù)提供單點(diǎn)登錄訪問(wèn)方式的必要性日益提高,如何實(shí)現(xiàn)統(tǒng)一認(rèn)證和單點(diǎn)登錄是信息化建設(shè)的重要課題。Novell AM是Novell公司提供的統(tǒng)一身份認(rèn)證解決方案,它通過(guò)反向代理、自動(dòng)填表等技術(shù)實(shí)現(xiàn)信息系統(tǒng)的單點(diǎn)登錄,為企業(yè)建設(shè)統(tǒng)一認(rèn)證提供了切實(shí)可行的一種方案。
【關(guān)鍵詞】單點(diǎn)登錄 身份認(rèn)證 訪問(wèn)網(wǎng)關(guān) 統(tǒng)一認(rèn)證
1 前言
隨著信息化建設(shè)的推進(jìn),提供給用戶(hù)使用的業(yè)務(wù)信息系統(tǒng)越來(lái)越多。每個(gè)業(yè)務(wù)系統(tǒng)都有各自獨(dú)立的登錄認(rèn)證功能及用戶(hù)信息管理功能,缺乏統(tǒng)一的信息系統(tǒng)登錄入口和用戶(hù)帳號(hào)管理機(jī)制,用戶(hù)需記憶的不同系統(tǒng)的登錄帳號(hào)和密碼越來(lái)越多,造成用戶(hù)使用不便。對(duì)用戶(hù)帳號(hào)信息進(jìn)行統(tǒng)一規(guī)劃和管理,對(duì)用戶(hù)身份進(jìn)行統(tǒng)一認(rèn)證使用戶(hù)進(jìn)行單點(diǎn)登錄訪問(wèn),是當(dāng)前信息化建設(shè)的方向。Novell Access Manager是Novell公司提供的統(tǒng)一身份認(rèn)證解決方案,它為上述問(wèn)題提供了圓滿解決方案。
2 實(shí)現(xiàn)統(tǒng)一身份認(rèn)證和單點(diǎn)登錄的必要性
信息系統(tǒng)傳統(tǒng)的用戶(hù)身份管理和登錄方式存在弊端,表現(xiàn)為:
(1)每套業(yè)務(wù)系統(tǒng)都開(kāi)發(fā)有自己的用戶(hù)帳號(hào)管理功能,用戶(hù)帳號(hào)在每套系統(tǒng)中都需要單獨(dú)創(chuàng)建,同一個(gè)人在多套業(yè)務(wù)系統(tǒng)中可能存在多個(gè)用戶(hù)帳號(hào),在登錄不同的業(yè)務(wù)系統(tǒng)時(shí)需要使用不同的帳號(hào)密碼,用戶(hù)需要記憶多個(gè)帳號(hào)和密碼,使用不便,用戶(hù)體驗(yàn)下降。
(2)每套系統(tǒng)都有自己的用戶(hù)登錄頁(yè)面和認(rèn)證機(jī)制,用戶(hù)界面各異,認(rèn)證安全性水平有高有低,不能提供給用戶(hù)統(tǒng)一的視覺(jué)界面和系統(tǒng)安全性。特別是用戶(hù)登錄進(jìn)入門(mén)戶(hù)后訪問(wèn)業(yè)務(wù)系統(tǒng)時(shí),仍然顯示登錄頁(yè)面要求再次輸入帳號(hào)密碼,用戶(hù)體驗(yàn)不佳。
因此,為消除以上弊端,應(yīng)進(jìn)行以下改進(jìn):
(1)進(jìn)行統(tǒng)一用戶(hù)建設(shè)。隨著業(yè)務(wù)系統(tǒng)橫向集成的推進(jìn),需要將用戶(hù)信息單獨(dú)抽取出來(lái)作為信息系統(tǒng)的基礎(chǔ)設(shè)施進(jìn)行統(tǒng)一建設(shè)和規(guī)范化管理,然后將用戶(hù)信息從權(quán)威數(shù)據(jù)源分發(fā)至各業(yè)務(wù)系統(tǒng),各業(yè)務(wù)系統(tǒng)不再保留獨(dú)立的用戶(hù)管理功能。
(2)實(shí)現(xiàn)統(tǒng)一認(rèn)證和單點(diǎn)登錄訪問(wèn)。給用戶(hù)提供統(tǒng)一的訪問(wèn)入口進(jìn)行單點(diǎn)登錄訪問(wèn)。單點(diǎn)登錄的含義是用戶(hù)只需一次登錄就可以訪問(wèn)不同的業(yè)務(wù)系統(tǒng)。用戶(hù)無(wú)需再記憶多個(gè)帳號(hào),只需記住統(tǒng)一用戶(hù)系統(tǒng)中自己的一個(gè)帳號(hào)即可,用一個(gè)帳號(hào)訪問(wèn)所有業(yè)務(wù)系統(tǒng),而且在登錄門(mén)戶(hù)后訪問(wèn)業(yè)務(wù)系統(tǒng)時(shí)也無(wú)需再重復(fù)輸入帳號(hào)和密碼,提高了信息系統(tǒng)的易用性、安全性,改善了用戶(hù)體驗(yàn)。
Novell Access Manager(以下簡(jiǎn)稱(chēng)Novell AM)是Novell公司提供的統(tǒng)一認(rèn)證解決方案,業(yè)務(wù)系統(tǒng)與Novell Access Manager進(jìn)行集成就可實(shí)現(xiàn)業(yè)務(wù)系統(tǒng)的單點(diǎn)登錄。
3 Novell AM系統(tǒng)架構(gòu)
Novell AM系統(tǒng)由身份認(rèn)證管理服務(wù)器(Identity Server,簡(jiǎn)稱(chēng)IDS)、訪問(wèn)網(wǎng)關(guān)(Access Gateway,簡(jiǎn)稱(chēng)AG)、目錄服務(wù)器(LDAP Directory)、管理控制臺(tái)(Administration Console,簡(jiǎn)稱(chēng)AC)組成,提供對(duì)用戶(hù)身份的統(tǒng)一認(rèn)證和對(duì)業(yè)務(wù)應(yīng)用系統(tǒng)的安全訪問(wèn)。系統(tǒng)架構(gòu)如圖1。
系統(tǒng)各組件的功能如下:
(1)IDS:身份認(rèn)證管理服務(wù)器,負(fù)責(zé)對(duì)用戶(hù)身份信息進(jìn)行認(rèn)證,向用戶(hù)推送統(tǒng)一的身份認(rèn)證頁(yè)面,將用戶(hù)在認(rèn)證頁(yè)面中輸入的用戶(hù)名、密碼提交至用戶(hù)身份信息庫(kù)LDAP Directory進(jìn)行認(rèn)證,判斷是否為合法用戶(hù)。IDS支持用戶(hù)名/密碼、X.509 數(shù)字證書(shū)、令牌等多種認(rèn)證方式。IDS可由多臺(tái)服務(wù)器組成集群。
(2)AG:訪問(wèn)網(wǎng)關(guān),基于反向代理服務(wù),利用自動(dòng)填表或身份注入等技術(shù)實(shí)現(xiàn)對(duì)業(yè)務(wù)系統(tǒng)的單點(diǎn)登錄訪問(wèn)。業(yè)務(wù)系統(tǒng)與AG集成后對(duì)業(yè)務(wù)系統(tǒng)的所有訪問(wèn)都受到AG保護(hù),此時(shí)提供給用戶(hù)的訪問(wèn)地址不再是業(yè)務(wù)系統(tǒng)原來(lái)自己Web服務(wù)器的地址,而是DNS域名形式的AG服務(wù)器的地址,業(yè)務(wù)系統(tǒng)位于AG之后,用戶(hù)訪問(wèn)業(yè)務(wù)系統(tǒng)首先需要經(jīng)過(guò)AG,從而AG為業(yè)務(wù)系統(tǒng)提供安全訪問(wèn)控制,提高了業(yè)務(wù)系統(tǒng)的安全性。AG可由多臺(tái)服務(wù)器組成集群。
(3)LDAP Directory:用戶(hù)身份信息數(shù)據(jù)庫(kù),存儲(chǔ)著權(quán)威的用戶(hù)帳號(hào)名稱(chēng)、密碼等身份信息,IDS使用它作為唯一的用戶(hù)身份認(rèn)證數(shù)據(jù)源。
(4)AC:管理控制臺(tái),實(shí)現(xiàn)對(duì)IDS、AG、業(yè)務(wù)系統(tǒng)單點(diǎn)登錄的配置功能,同時(shí)提供IDS、AG間的通信服務(wù)功能。AC可由兩臺(tái)服務(wù)器組成主備關(guān)系的HA架構(gòu)。
4 Novell AM單點(diǎn)登錄實(shí)現(xiàn)
4.1 單點(diǎn)登錄流程
業(yè)務(wù)系統(tǒng)通過(guò)Novell AM進(jìn)行訪問(wèn)的流程如圖2。
圖2的登錄流程(對(duì)應(yīng)圖中所標(biāo)序號(hào))分析如下:
(1)用戶(hù)向受AG保護(hù)的業(yè)務(wù)系統(tǒng)(Web Server)發(fā)出訪問(wèn)請(qǐng)求,因?yàn)闃I(yè)務(wù)系統(tǒng)已受AG保護(hù),所以用戶(hù)訪問(wèn)請(qǐng)求首先被發(fā)送到AG。
(2)AG檢查當(dāng)前用戶(hù)是否已登錄,如果用戶(hù)尚未登錄,利用HTTP協(xié)議重定向機(jī)制,用戶(hù)訪問(wèn)請(qǐng)求被AG重定向到身份認(rèn)證管理服務(wù)器Identity Server,IDS向用戶(hù)推送身份認(rèn)證頁(yè)面,即登錄頁(yè)面,提示用戶(hù)輸入用戶(hù)名和密碼,用戶(hù)輸入用戶(hù)名、密碼后提交。
(3)IDS獲取到用戶(hù)提交的用戶(hù)名、密碼信息,然后IDS到用戶(hù)身份信息數(shù)據(jù)庫(kù)LDAP Directory中對(duì)獲取到的用戶(hù)身份信息進(jìn)行認(rèn)證,驗(yàn)證用戶(hù)合法性。若IDS驗(yàn)證不通過(guò),則用戶(hù)瀏覽器仍然停留在登錄頁(yè)面,提示用戶(hù)重新數(shù)據(jù)用戶(hù)名、密碼。
(4)在上步驟中,若IDS認(rèn)證通過(guò),則IDS返回認(rèn)證成功的信息到用戶(hù)瀏覽器,用戶(hù)瀏覽器重新將訪問(wèn)業(yè)務(wù)系統(tǒng)的請(qǐng)求發(fā)送至AG。
(5)AG向IDS確認(rèn)用戶(hù)已經(jīng)被IDS認(rèn)證成功,是合法用戶(hù),并且AG向IDS請(qǐng)求獲得已認(rèn)證通過(guò)的用戶(hù)的身份信息,AG得到IDS發(fā)送的用戶(hù)身份信息。
(6)AG在獲得用戶(hù)身份信息后,AG利用自動(dòng)填表或者身份注入等方法向受保護(hù)業(yè)務(wù)系統(tǒng)Web Server發(fā)送用戶(hù)身份信息。
(7)業(yè)務(wù)系統(tǒng)認(rèn)為當(dāng)前訪問(wèn)用戶(hù)是合法用戶(hù),接受用戶(hù)訪問(wèn)請(qǐng)求,將用戶(hù)請(qǐng)求信息發(fā)送給用戶(hù)瀏覽器。完成登錄流程。
4.2 統(tǒng)一用戶(hù)
統(tǒng)一用戶(hù)的建設(shè)首先需要確定一個(gè)身份權(quán)威源,權(quán)威源是指對(duì)確定用戶(hù)身份關(guān)鍵信息進(jìn)行管理維護(hù)的應(yīng)用系統(tǒng),一般推薦將人力資源系統(tǒng)作為身份權(quán)威源,也可以定制開(kāi)發(fā)身份權(quán)威源系統(tǒng)。建立權(quán)威源的目的是從源頭對(duì)用戶(hù)身份信息進(jìn)行控制和規(guī)范化管理,作為用戶(hù)身份信息的唯一出處,改變以往用戶(hù)身份信息各業(yè)務(wù)系統(tǒng)重復(fù)建設(shè)、管理分散的局面。
Novell公司的Identity Manager組件能夠?qū)崿F(xiàn)將身份信息從權(quán)威源到LDAP Directory再到相關(guān)業(yè)務(wù)應(yīng)用系統(tǒng)的實(shí)時(shí)同步,包括用戶(hù)賬號(hào)的同步創(chuàng)建、變更、刪除等,實(shí)現(xiàn)全生命周期管理。在權(quán)威源中可以制定賬號(hào)管理策略對(duì)用戶(hù)身份信息到業(yè)務(wù)系統(tǒng)的同步進(jìn)行控制,控制哪些帳號(hào)可以同步到哪些業(yè)務(wù)系統(tǒng),達(dá)到需要的帳號(hào)才能同步到需要的業(yè)務(wù)系統(tǒng)的目的。用戶(hù)身份信息同步的數(shù)據(jù)流如圖3。
統(tǒng)一用戶(hù)建立后,用戶(hù)身份信息就成為了一個(gè)在所有業(yè)務(wù)系統(tǒng)間共享、流動(dòng)、一致的基礎(chǔ)數(shù)據(jù),為不同業(yè)務(wù)系統(tǒng)間的單點(diǎn)登錄奠定了數(shù)據(jù)基礎(chǔ)。
4.3 基于自動(dòng)填表策略的集成方式
對(duì)于大多數(shù)B/S業(yè)務(wù)系統(tǒng),使用表單頁(yè)面作為系統(tǒng)的登錄頁(yè)面,因此AG向業(yè)務(wù)應(yīng)用系統(tǒng)發(fā)送用戶(hù)身份信息,大多使用自動(dòng)填表策略來(lái)完成。在圖2登錄流程所示的第6步中,AG在獲得用戶(hù)身份信息后,自動(dòng)向業(yè)務(wù)系統(tǒng)的登錄頁(yè)面填入用戶(hù)帳號(hào)、密碼信息,并對(duì)業(yè)務(wù)系統(tǒng)的登錄頁(yè)面進(jìn)行自動(dòng)提交,從而登錄進(jìn)入業(yè)務(wù)系統(tǒng)。
基于自動(dòng)填表策略的集成方式適用于從企業(yè)門(mén)戶(hù)到其它業(yè)務(wù)應(yīng)用系統(tǒng)入口的業(yè)務(wù)導(dǎo)航跳轉(zhuǎn),用戶(hù)無(wú)需再次輸入用戶(hù)名密碼,實(shí)現(xiàn)單點(diǎn)登錄。
4.4 基于身份注入(即HTTP頭)策略的集成方式
在用戶(hù)通過(guò)IDS認(rèn)證后,AG通過(guò)注入機(jī)制在HTTP請(qǐng)求中添加表示用戶(hù)信息的HTTP頭,并將請(qǐng)求轉(zhuǎn)發(fā)到業(yè)務(wù)應(yīng)用系統(tǒng),業(yè)務(wù)系統(tǒng)獲取HTTP頭中的用戶(hù)身份信息,完成對(duì)用戶(hù)身份信息的接收和認(rèn)證。業(yè)務(wù)應(yīng)用系統(tǒng)需要按照AG接口規(guī)范的要求,利用HTTP協(xié)議中規(guī)定的基本認(rèn)證方式登錄應(yīng)用系統(tǒng),也可以使用認(rèn)證系統(tǒng)與應(yīng)用系統(tǒng)之間約定的頭信息登錄。
此方式適合于從企業(yè)門(mén)戶(hù)到其它應(yīng)用系統(tǒng)業(yè)務(wù)功能頁(yè)面的跳轉(zhuǎn),如進(jìn)入待辦任務(wù)對(duì)應(yīng)的業(yè)務(wù)應(yīng)用系統(tǒng)的處理頁(yè)面。
4.5 典型應(yīng)用
當(dāng)前,企業(yè)往往以門(mén)戶(hù)為中心實(shí)現(xiàn)各業(yè)務(wù)系統(tǒng)的應(yīng)用集成和數(shù)據(jù)集成,因此,企業(yè)信息化的典型應(yīng)用場(chǎng)景是將企業(yè)門(mén)戶(hù)系統(tǒng)及各業(yè)務(wù)應(yīng)用系統(tǒng)與Novell AM集成,然后將門(mén)戶(hù)作為企業(yè)信息系統(tǒng)的唯一訪問(wèn)入口對(duì)用戶(hù)開(kāi)放,用戶(hù)登錄進(jìn)入門(mén)戶(hù)后對(duì)各業(yè)務(wù)系統(tǒng)進(jìn)行單點(diǎn)登錄式訪問(wèn),如圖4所示。
5 結(jié)束語(yǔ)
統(tǒng)一認(rèn)證和單點(diǎn)登錄的實(shí)現(xiàn),標(biāo)志著信息系統(tǒng)橫向集成的建設(shè)推進(jìn)到了一個(gè)新階段,為用戶(hù)帶來(lái)嶄新體驗(yàn),大大方便用戶(hù)使用信息系統(tǒng)。本文描述了基于Novell AM的實(shí)現(xiàn)方案,為企業(yè)建設(shè)統(tǒng)一認(rèn)證提供了切實(shí)可行的一種選擇。
參考文獻(xiàn)
[1]霍成義.結(jié)合Cookie與票據(jù)共享的單點(diǎn)登錄方案[J].自動(dòng)化與儀器儀表,2013, 3:167-169.
[2]胡聰,姚振.基于VMware的Novell身份認(rèn)證系統(tǒng)虛擬化架構(gòu)實(shí)踐[J].電力信息化,2013,11(4):78-81.
作者簡(jiǎn)介
柴新(1974-),男,山東省壽光市人?,F(xiàn)為江蘇電力信息技術(shù)有限公司工程師,主要從事信息化運(yùn)維工作。
作者單位
江蘇電力信息技術(shù)有限公司 江蘇省南京市 210024