摘 要隨著信息化建設(shè)橫向集成的推進(jìn),對(duì)用戶身份信息進(jìn)行統(tǒng)一認(rèn)證和為用戶提供單點(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),提供給用戶使用的業(yè)務(wù)信息系統(tǒng)越來(lái)越多。每個(gè)業(yè)務(wù)系統(tǒng)都有各自獨(dú)立的登錄認(rèn)證功能及用戶信息管理功能,缺乏統(tǒng)一的信息系統(tǒng)登錄入口和用戶帳號(hào)管理機(jī)制,用戶需記憶的不同系統(tǒng)的登錄帳號(hào)和密碼越來(lái)越多,造成用戶使用不便。對(duì)用戶帳號(hào)信息進(jìn)行統(tǒng)一規(guī)劃和管理,對(duì)用戶身份進(jìn)行統(tǒng)一認(rèn)證使用戶進(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)的用戶身份管理和登錄方式存在弊端,表現(xiàn)為:
(1)每套業(yè)務(wù)系統(tǒng)都開(kāi)發(fā)有自己的用戶帳號(hào)管理功能,用戶帳號(hào)在每套系統(tǒng)中都需要單獨(dú)創(chuàng)建,同一個(gè)人在多套業(yè)務(wù)系統(tǒng)中可能存在多個(gè)用戶帳號(hào),在登錄不同的業(yè)務(wù)系統(tǒng)時(shí)需要使用不同的帳號(hào)密碼,用戶需要記憶多個(gè)帳號(hào)和密碼,使用不便,用戶體驗(yàn)下降。
(2)每套系統(tǒng)都有自己的用戶登錄頁(yè)面和認(rèn)證機(jī)制,用戶界面各異,認(rèn)證安全性水平有高有低,不能提供給用戶統(tǒng)一的視覺(jué)界面和系統(tǒng)安全性。特別是用戶登錄進(jìn)入門戶后訪問(wèn)業(yè)務(wù)系統(tǒng)時(shí),仍然顯示登錄頁(yè)面要求再次輸入帳號(hào)密碼,用戶體驗(yàn)不佳。
因此,為消除以上弊端,應(yīng)進(jìn)行以下改進(jìn):
(1)進(jìn)行統(tǒng)一用戶建設(shè)。隨著業(yè)務(wù)系統(tǒng)橫向集成的推進(jìn),需要將用戶信息單獨(dú)抽取出來(lái)作為信息系統(tǒng)的基礎(chǔ)設(shè)施進(jìn)行統(tǒng)一建設(shè)和規(guī)范化管理,然后將用戶信息從權(quán)威數(shù)據(jù)源分發(fā)至各業(yè)務(wù)系統(tǒng),各業(yè)務(wù)系統(tǒng)不再保留獨(dú)立的用戶管理功能。
(2)實(shí)現(xiàn)統(tǒng)一認(rèn)證和單點(diǎn)登錄訪問(wèn)。給用戶提供統(tǒng)一的訪問(wèn)入口進(jìn)行單點(diǎn)登錄訪問(wèn)。單點(diǎn)登錄的含義是用戶只需一次登錄就可以訪問(wèn)不同的業(yè)務(wù)系統(tǒng)。用戶無(wú)需再記憶多個(gè)帳號(hào),只需記住統(tǒng)一用戶系統(tǒng)中自己的一個(gè)帳號(hào)即可,用一個(gè)帳號(hào)訪問(wèn)所有業(yè)務(wù)系統(tǒng),而且在登錄門戶后訪問(wèn)業(yè)務(wù)系統(tǒng)時(shí)也無(wú)需再重復(fù)輸入帳號(hào)和密碼,提高了信息系統(tǒng)的易用性、安全性,改善了用戶體驗(yàn)。
Novell Access Manager(以下簡(jiǎn)稱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)稱IDS)、訪問(wèn)網(wǎng)關(guān)(Access Gateway,簡(jiǎn)稱AG)、目錄服務(wù)器(LDAP Directory)、管理控制臺(tái)(Administration Console,簡(jiǎn)稱AC)組成,提供對(duì)用戶身份的統(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ì)用戶身份信息進(jìn)行認(rèn)證,向用戶推送統(tǒng)一的身份認(rèn)證頁(yè)面,將用戶在認(rèn)證頁(yè)面中輸入的用戶名、密碼提交至用戶身份信息庫(kù)LDAP Directory進(jìn)行認(rèn)證,判斷是否為合法用戶。IDS支持用戶名/密碼、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í)提供給用戶的訪問(wèn)地址不再是業(yè)務(wù)系統(tǒng)原來(lái)自己Web服務(wù)器的地址,而是DNS域名形式的AG服務(wù)器的地址,業(yè)務(wù)系統(tǒng)位于AG之后,用戶訪問(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:用戶身份信息數(shù)據(jù)庫(kù),存儲(chǔ)著權(quán)威的用戶帳號(hào)名稱、密碼等身份信息,IDS使用它作為唯一的用戶身份認(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)用戶向受AG保護(hù)的業(yè)務(wù)系統(tǒng)(Web Server)發(fā)出訪問(wèn)請(qǐng)求,因?yàn)闃I(yè)務(wù)系統(tǒng)已受AG保護(hù),所以用戶訪問(wèn)請(qǐng)求首先被發(fā)送到AG。
(2)AG檢查當(dāng)前用戶是否已登錄,如果用戶尚未登錄,利用HTTP協(xié)議重定向機(jī)制,用戶訪問(wèn)請(qǐng)求被AG重定向到身份認(rèn)證管理服務(wù)器Identity Server,IDS向用戶推送身份認(rèn)證頁(yè)面,即登錄頁(yè)面,提示用戶輸入用戶名和密碼,用戶輸入用戶名、密碼后提交。
(3)IDS獲取到用戶提交的用戶名、密碼信息,然后IDS到用戶身份信息數(shù)據(jù)庫(kù)LDAP Directory中對(duì)獲取到的用戶身份信息進(jìn)行認(rèn)證,驗(yàn)證用戶合法性。若IDS驗(yàn)證不通過(guò),則用戶瀏覽器仍然停留在登錄頁(yè)面,提示用戶重新數(shù)據(jù)用戶名、密碼。
(4)在上步驟中,若IDS認(rèn)證通過(guò),則IDS返回認(rèn)證成功的信息到用戶瀏覽器,用戶瀏覽器重新將訪問(wèn)業(yè)務(wù)系統(tǒng)的請(qǐng)求發(fā)送至AG。
(5)AG向IDS確認(rèn)用戶已經(jīng)被IDS認(rèn)證成功,是合法用戶,并且AG向IDS請(qǐng)求獲得已認(rèn)證通過(guò)的用戶的身份信息,AG得到IDS發(fā)送的用戶身份信息。
(6)AG在獲得用戶身份信息后,AG利用自動(dòng)填表或者身份注入等方法向受保護(hù)業(yè)務(wù)系統(tǒng)Web Server發(fā)送用戶身份信息。
(7)業(yè)務(wù)系統(tǒng)認(rèn)為當(dāng)前訪問(wèn)用戶是合法用戶,接受用戶訪問(wèn)請(qǐng)求,將用戶請(qǐng)求信息發(fā)送給用戶瀏覽器。完成登錄流程。
4.2 統(tǒng)一用戶
統(tǒng)一用戶的建設(shè)首先需要確定一個(gè)身份權(quán)威源,權(quán)威源是指對(duì)確定用戶身份關(guān)鍵信息進(jìn)行管理維護(hù)的應(yīng)用系統(tǒng),一般推薦將人力資源系統(tǒng)作為身份權(quán)威源,也可以定制開(kāi)發(fā)身份權(quán)威源系統(tǒng)。建立權(quán)威源的目的是從源頭對(duì)用戶身份信息進(jìn)行控制和規(guī)范化管理,作為用戶身份信息的唯一出處,改變以往用戶身份信息各業(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ào)的同步創(chuàng)建、變更、刪除等,實(shí)現(xiàn)全生命周期管理。在權(quán)威源中可以制定賬號(hào)管理策略對(duì)用戶身份信息到業(yè)務(wù)系統(tǒng)的同步進(jìn)行控制,控制哪些帳號(hào)可以同步到哪些業(yè)務(wù)系統(tǒng),達(dá)到需要的帳號(hào)才能同步到需要的業(yè)務(wù)系統(tǒng)的目的。用戶身份信息同步的數(shù)據(jù)流如圖3。
統(tǒng)一用戶建立后,用戶身份信息就成為了一個(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ā)送用戶身份信息,大多使用自動(dòng)填表策略來(lái)完成。在圖2登錄流程所示的第6步中,AG在獲得用戶身份信息后,自動(dòng)向業(yè)務(wù)系統(tǒng)的登錄頁(yè)面填入用戶帳號(hào)、密碼信息,并對(duì)業(yè)務(wù)系統(tǒng)的登錄頁(yè)面進(jìn)行自動(dòng)提交,從而登錄進(jìn)入業(yè)務(wù)系統(tǒng)。
基于自動(dòng)填表策略的集成方式適用于從企業(yè)門戶到其它業(yè)務(wù)應(yīng)用系統(tǒng)入口的業(yè)務(wù)導(dǎo)航跳轉(zhuǎn),用戶無(wú)需再次輸入用戶名密碼,實(shí)現(xiàn)單點(diǎn)登錄。
4.4 基于身份注入(即HTTP頭)策略的集成方式
在用戶通過(guò)IDS認(rèn)證后,AG通過(guò)注入機(jī)制在HTTP請(qǐng)求中添加表示用戶信息的HTTP頭,并將請(qǐng)求轉(zhuǎn)發(fā)到業(yè)務(wù)應(yīng)用系統(tǒng),業(yè)務(wù)系統(tǒng)獲取HTTP頭中的用戶身份信息,完成對(duì)用戶身份信息的接收和認(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è)門戶到其它應(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è)往往以門戶為中心實(shí)現(xiàn)各業(yè)務(wù)系統(tǒng)的應(yīng)用集成和數(shù)據(jù)集成,因此,企業(yè)信息化的典型應(yīng)用場(chǎng)景是將企業(yè)門戶系統(tǒng)及各業(yè)務(wù)應(yīng)用系統(tǒng)與Novell AM集成,然后將門戶作為企業(yè)信息系統(tǒng)的唯一訪問(wèn)入口對(duì)用戶開(kāi)放,用戶登錄進(jìn)入門戶后對(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è)新階段,為用戶帶來(lái)嶄新體驗(yàn),大大方便用戶使用信息系統(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-),男,山東省壽光市人。現(xiàn)為江蘇電力信息技術(shù)有限公司工程師,主要從事信息化運(yùn)維工作。
作者單位
江蘇電力信息技術(shù)有限公司 江蘇省南京市 210024