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