王瑤 何淳真 康瑩 燕昊 王瑞
[摘 要] 隨著信息化的快速發(fā)展,企業(yè)信息系統(tǒng)不斷增多,用戶訪問各應(yīng)用系統(tǒng)需要分別記憶多個(gè)系統(tǒng)的用戶名及口令,多次登錄,影響工作效率。為了實(shí)現(xiàn)一鍵登錄,整網(wǎng)漫游,首先需要規(guī)范用戶管理。在唯一數(shù)據(jù)源中,對用戶信息的注冊、分發(fā)、授權(quán)、變更、注銷等動(dòng)作進(jìn)行全生命周期的統(tǒng)一管理,并及時(shí)同步至各信息系統(tǒng)中,保證各應(yīng)用系統(tǒng)中用戶數(shù)據(jù)的一致性和同步性。然后通過統(tǒng)一用戶身份管理和單點(diǎn)登錄技術(shù),為企業(yè)各應(yīng)用系統(tǒng)提供統(tǒng)一入口,避免多次驗(yàn)證。最后介紹了企業(yè)實(shí)施單點(diǎn)登錄時(shí)的兩種接入方式,以及單點(diǎn)登錄集成業(yè)務(wù)的統(tǒng)一規(guī)范,強(qiáng)調(diào)了企業(yè)實(shí)施統(tǒng)一身份認(rèn)證時(shí)的注意事項(xiàng)。這種解決方案幫助企業(yè)簡化應(yīng)用系統(tǒng)用戶創(chuàng)建及變更的流程,確保各應(yīng)用系統(tǒng)中用戶數(shù)據(jù)的一致性與完整性,同時(shí)實(shí)現(xiàn)用戶各應(yīng)用系統(tǒng)間的單點(diǎn)切換。
[關(guān)鍵詞] 統(tǒng)一用戶管理;統(tǒng)一身份認(rèn)證;單點(diǎn)登錄技術(shù);系統(tǒng)集成
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2019. 01. 082
[中圖分類號] TP315 [文獻(xiàn)標(biāo)識碼] A [文章編號] 1673 - 0194(2019)01- 0193- 04
0 引 言
隨著企業(yè)信息化的飛速發(fā)展,企業(yè)信息系統(tǒng)規(guī)模日趨龐大,部分企業(yè)建設(shè)了門戶平臺(tái)、產(chǎn)品數(shù)據(jù)管理系統(tǒng)、企業(yè)資源管理系統(tǒng)、質(zhì)量信息管理系統(tǒng)、項(xiàng)目管理系統(tǒng)等信息化應(yīng)用系統(tǒng),應(yīng)用面覆蓋了設(shè)計(jì)、生產(chǎn)、經(jīng)營、管理等各方面的業(yè)務(wù)領(lǐng)域,信息化建設(shè)也從單一建設(shè)逐步過渡發(fā)展到集成整合階段。企業(yè)用戶的工作領(lǐng)域較廣泛,平均每個(gè)用戶都會(huì)經(jīng)常使用2-3種不同的信息系統(tǒng)。而用戶在門戶平臺(tái)和各業(yè)務(wù)系統(tǒng)間訪問,需要多次認(rèn)證登錄不同業(yè)務(wù)系統(tǒng),用戶感知度差[1]。而且每個(gè)信息系統(tǒng)擁有一套屬于自己的用戶數(shù)據(jù),彼此間沒有集成交互,需要各信息系統(tǒng)的系統(tǒng)管理員手工創(chuàng)建用戶信息,浪費(fèi)大量人力和時(shí)間,數(shù)據(jù)更新不及時(shí),且無法保證各信息系統(tǒng)用戶數(shù)據(jù)的完整性和同一性。目前迫切需要在企業(yè)門戶平臺(tái)和各業(yè)務(wù)系統(tǒng)之間進(jìn)行統(tǒng)一身份認(rèn)證,實(shí)現(xiàn)用戶的單點(diǎn)登錄。所謂單點(diǎn)登錄,就是用戶驗(yàn)證身份后登錄企業(yè)門戶,當(dāng)其再訪問其他信息系統(tǒng)時(shí),不需要再次進(jìn)行身份認(rèn)證就可以直接進(jìn)入其他信息系統(tǒng),甚至讓用戶感受不到系統(tǒng)間的切換[2]。首先建立統(tǒng)一的用戶身份管理體系,將各個(gè)業(yè)務(wù)系統(tǒng)的賬號進(jìn)行重新規(guī)劃,建立統(tǒng)一標(biāo)準(zhǔn),以實(shí)現(xiàn)各業(yè)務(wù)系統(tǒng)單點(diǎn)登錄和統(tǒng)一認(rèn)證。即在企業(yè)內(nèi)部實(shí)行統(tǒng)一用戶身份管理,即建立用戶管理規(guī)范,確認(rèn)用戶信息的權(quán)威數(shù)據(jù)源,對權(quán)威數(shù)據(jù)源用戶信息的創(chuàng)建、授權(quán)、分發(fā)、變更、停用進(jìn)行全生命周期管理。然后建立同步機(jī)制,將用戶信息同步至統(tǒng)一用戶身份管理系統(tǒng)和其他應(yīng)用系統(tǒng),保證人員基礎(chǔ)數(shù)據(jù)的及時(shí)性、一致性和唯一性。然后在此基礎(chǔ)上,利用單點(diǎn)登錄技術(shù)建立企業(yè)的統(tǒng)一身份認(rèn)證體系,根據(jù)信息系統(tǒng)的集成特點(diǎn),選擇基于Cookie的單點(diǎn)登錄認(rèn)證方式或基于Header的單點(diǎn)登錄認(rèn)證方式,統(tǒng)一集成各類資源和應(yīng)用系統(tǒng),避免多次認(rèn)證,實(shí)現(xiàn)一鍵登錄,全網(wǎng)遍歷。
1 統(tǒng)一用戶身份管理
1.1 規(guī)范用戶數(shù)據(jù)源
實(shí)施統(tǒng)一身份認(rèn)證前,企業(yè)的用戶數(shù)據(jù)可能存在于各個(gè)應(yīng)用系統(tǒng)中,每一個(gè)應(yīng)用系統(tǒng)都有一套自己的用戶數(shù)據(jù),沒有統(tǒng)一的數(shù)據(jù)源,用戶數(shù)據(jù)也不盡相同,例如A系統(tǒng)中用戶登錄賬號為拼音,而B系統(tǒng)中用戶卻是使用工號編碼登錄,而且用戶信息新增或變更的實(shí)時(shí)性和同步性都很難保證。因此需要規(guī)范管理各應(yīng)用系統(tǒng)的用戶數(shù)據(jù),實(shí)施統(tǒng)一用戶管理。
將企業(yè)中人力資源管理系統(tǒng)或其他管理人員數(shù)據(jù)的系統(tǒng)作為用戶數(shù)據(jù)的權(quán)威數(shù)據(jù)源,當(dāng)人員信息出現(xiàn)新增或變更時(shí),統(tǒng)一用戶身份管理系統(tǒng)獲取用戶創(chuàng)建或修改事件,定期掃描新變更的用戶記錄。統(tǒng)一用戶身份管理系統(tǒng)將這些事件同步給每個(gè)連接的應(yīng)用系統(tǒng)中,各系統(tǒng)根據(jù)規(guī)則修改相應(yīng)信息。要求各系統(tǒng)不能私自創(chuàng)建賬號或?qū)τ脩艋A(chǔ)信息做出任何修改,保持與權(quán)威數(shù)據(jù)源的數(shù)據(jù)一致。因此利用統(tǒng)一用戶身份管理能夠統(tǒng)一管理企業(yè)內(nèi)用戶和組織機(jī)構(gòu)的基本信息,并自動(dòng)地為所有和統(tǒng)一用戶身份管理系統(tǒng)集成的應(yīng)用系統(tǒng)進(jìn)行用戶賬號創(chuàng)建、變更、注銷等工作。
1.2 用戶生命周期管理
如圖1所示,一個(gè)完整的用戶身份生命周期管理包含以下幾個(gè)階段:
(a)用戶注冊:在權(quán)威數(shù)據(jù)源系統(tǒng)(例如人力資源管理系統(tǒng))中對用戶進(jìn)行注冊,確定用戶要注冊的部門、崗位分配等信息,并在權(quán)威數(shù)據(jù)系統(tǒng)中建立用戶賬戶。
(b)通過接口將用戶信息同步至統(tǒng)一用戶身份庫,統(tǒng)一用戶身份管理系統(tǒng)通過對身份庫的監(jiān)控,根據(jù)規(guī)則同步至統(tǒng)一用戶身份管理系統(tǒng)。
(c)賬戶分發(fā)、審批和授權(quán):系統(tǒng)管理員在統(tǒng)一用戶身份管理系統(tǒng)中對新增的用戶進(jìn)行審批和授權(quán),分配賬戶在其他應(yīng)用系統(tǒng)的使用權(quán)限并將賬戶同步至相關(guān)的應(yīng)用系統(tǒng)中。
(d)變更:當(dāng)用戶的分配部門或崗位、密級等其他信息發(fā)生變化后,系統(tǒng)管理員在權(quán)威數(shù)據(jù)源中對用戶信息進(jìn)行修改和更新,然后通過(b)、(c)兩個(gè)步驟將用戶信息同步至統(tǒng)一用戶身份庫,然后由統(tǒng)一用戶身份管理系統(tǒng)統(tǒng)一更新并同步該用戶關(guān)聯(lián)的其他信息系統(tǒng)中的賬戶信息。
(e)密碼管理:由統(tǒng)一用戶身份管理系統(tǒng)統(tǒng)一接管用戶在其他應(yīng)用系統(tǒng)中的賬戶和密碼信息,密碼策略按照企業(yè)保密規(guī)定統(tǒng)一執(zhí)行。采用統(tǒng)一密碼的方式,即企業(yè)門戶密碼與其他應(yīng)用系統(tǒng)密碼保持一致,在企業(yè)門戶中集成用戶的密碼管理模塊,用戶將企業(yè)門戶密碼更改后,接口會(huì)把新密碼同步到各應(yīng)用系統(tǒng)中。
(f)銷戶:當(dāng)用戶離職以后,首先由系統(tǒng)管理員在權(quán)威數(shù)據(jù)源停用或注銷用戶賬戶,然后把用戶狀態(tài)同步到統(tǒng)一用戶身份庫,再將用戶狀態(tài)推送至與該用戶關(guān)聯(lián)的應(yīng)用系統(tǒng)中,完成企業(yè)門戶和各應(yīng)用系統(tǒng)的統(tǒng)一注銷用戶賬戶工作。
如圖2所示,實(shí)現(xiàn)統(tǒng)一用戶身份管理系統(tǒng)與其他應(yīng)用系統(tǒng)、其他目錄之間的同步服務(wù),將權(quán)威數(shù)據(jù)源中的用戶信息同步至身份目錄,再將用戶信息同步至企業(yè)資源目錄、認(rèn)證目錄和各應(yīng)用系統(tǒng),從而實(shí)現(xiàn)各應(yīng)用系統(tǒng)用戶賬號的自動(dòng)創(chuàng)建、變更和注銷,從而代替現(xiàn)有的人工管理賬號的工作模式。同時(shí),統(tǒng)一用戶身份管理系統(tǒng)能將關(guān)鍵事件等日志信息存儲(chǔ)在數(shù)據(jù)庫中,供審計(jì)使用。
此外,目錄服務(wù)中還可以構(gòu)建項(xiàng)目組概念,根據(jù)企業(yè)內(nèi)部需要,如果企業(yè)還沒有建設(shè)項(xiàng)目管理系統(tǒng),可以在目錄中初始化各個(gè)項(xiàng)目組,目錄服務(wù)能夠?qū)⒃擁?xiàng)目組的組織機(jī)構(gòu)、項(xiàng)目組成員同步到PDM等協(xié)同設(shè)計(jì)系統(tǒng)中,當(dāng)項(xiàng)目組撤銷、項(xiàng)目組成員變更,項(xiàng)目成員角色變更,都將從目錄中自動(dòng)同步到業(yè)務(wù)系統(tǒng)中。將來,對于企業(yè)內(nèi)部項(xiàng)目,只需要在目錄服務(wù)中進(jìn)行統(tǒng)一維護(hù)。通過在目錄服務(wù)中構(gòu)建項(xiàng)目統(tǒng)一視圖,即可實(shí)現(xiàn)在各個(gè)業(yè)務(wù)系統(tǒng)中,項(xiàng)目組信息保持同步。
業(yè)務(wù)系統(tǒng)與統(tǒng)一用戶身份管理系統(tǒng)集成主要是用戶和組織機(jī)構(gòu)的集成管理,業(yè)務(wù)系統(tǒng)的用戶和組織機(jī)構(gòu)數(shù)據(jù)由統(tǒng)一用戶身份管理系統(tǒng)統(tǒng)一管理。在業(yè)務(wù)系統(tǒng)與統(tǒng)一用戶身份管理系統(tǒng)集成過程中,統(tǒng)一用戶身份管理系統(tǒng)需要與業(yè)務(wù)系統(tǒng)完成用戶組織機(jī)構(gòu)的數(shù)據(jù)同步。同步過程始終保證由用戶與組織信息的權(quán)威數(shù)據(jù)源到統(tǒng)一用戶身份管理系統(tǒng),然后再由統(tǒng)一用戶身份管理系統(tǒng)根據(jù)權(quán)限將用戶與組織信息同步至其他相關(guān)應(yīng)用系統(tǒng)中。根據(jù)各應(yīng)用系統(tǒng)的實(shí)際情況,可以采用數(shù)據(jù)庫中間表或Webservice兩種同步方式。
2 統(tǒng)一身份認(rèn)證機(jī)制
統(tǒng)一身份認(rèn)證為其他信息系統(tǒng)提供相同的認(rèn)證策略和認(rèn)證方式,該策略可以有效識別用戶身份的合法性。用戶通過計(jì)算機(jī)登錄某個(gè)信息系統(tǒng)時(shí),該客戶端通過瀏覽器訪問該信息系統(tǒng)的登錄頁面,獲取隨機(jī)數(shù)和認(rèn)證服務(wù)器證書,然后客戶端將認(rèn)證請求和用戶證書發(fā)送給該信息系統(tǒng)的服務(wù)器,服務(wù)器轉(zhuǎn)發(fā)認(rèn)證請求和用戶證書給認(rèn)證服務(wù)器,認(rèn)證服務(wù)器認(rèn)證后,將用戶證書序列號返回給系統(tǒng)服務(wù)器,由系統(tǒng)服務(wù)器通知客戶端登錄信息系統(tǒng)。統(tǒng)一身份認(rèn)證支持電子密鑰、數(shù)字簽名和用戶名/口令等多種認(rèn)證方式,充分滿足用戶的安全認(rèn)證需求。具體認(rèn)證原理和流程如下圖3所示。
對于安全級別要求較高的信息系統(tǒng),也可以考慮在自身應(yīng)用系統(tǒng)中額外加入身份認(rèn)證模塊,如二次密碼、問題驗(yàn)證和令牌等認(rèn)證方式[3]。
這種統(tǒng)一身份認(rèn)證策略,能夠解決多個(gè)系統(tǒng)分別獨(dú)立認(rèn)證的弊端:例如用戶需要分別單獨(dú)登錄各信息系統(tǒng);不能統(tǒng)一認(rèn)證和授權(quán);多個(gè)認(rèn)證系統(tǒng)增加了管理成本和重復(fù)開發(fā)的成本等。因此建立統(tǒng)一認(rèn)證機(jī)制對用戶實(shí)行統(tǒng)一認(rèn)證和統(tǒng)一授權(quán)管理對企業(yè)的系統(tǒng)集成是非常必要的[4]。
2.1 單點(diǎn)登錄實(shí)現(xiàn)原理
當(dāng)企業(yè)信息系統(tǒng)繁多,用戶分別擁有各個(gè)信息系統(tǒng)的不同用戶名和密碼,訪問一個(gè)系統(tǒng)時(shí),輸入一套用戶名和密碼驗(yàn)證登3 信息系統(tǒng)統(tǒng)一身份認(rèn)證管理標(biāo)準(zhǔn)
所有集成的信息系統(tǒng)在集成到統(tǒng)一用戶身份管理系統(tǒng)后,必須遵循以下標(biāo)準(zhǔn):
(a)業(yè)務(wù)系統(tǒng)提供門戶系統(tǒng)專有的登錄驗(yàn)證跳轉(zhuǎn)頁面,為了方便后期維護(hù),建議不要復(fù)用系統(tǒng)自身登錄頁面。
(b)業(yè)務(wù)系統(tǒng)必須禁用密碼修改功能,業(yè)務(wù)系統(tǒng)密碼統(tǒng)一在統(tǒng)一用戶身份管理系統(tǒng)中修改,然后通過同步機(jī)制同步到應(yīng)用系統(tǒng)中。
(c)業(yè)務(wù)系統(tǒng)中不能獨(dú)自添加,修改,禁用,刪除用戶,如果新注冊用戶為正式員工,或用戶信息發(fā)生變更時(shí),必須在用戶數(shù)據(jù)源系統(tǒng)(如人力資源管理系統(tǒng))中進(jìn)行新賬戶注冊或數(shù)據(jù)更新,然后通過同步機(jī)制依次同步到統(tǒng)一用戶管理系統(tǒng),再通過統(tǒng)一分配與授權(quán)同步到其他應(yīng)用系統(tǒng)中,否則無法完成在企業(yè)門戶中的單點(diǎn)登錄。
(d)如果業(yè)務(wù)系統(tǒng)使用統(tǒng)一用戶身份管理系統(tǒng)提供的標(biāo)準(zhǔn)組織機(jī)構(gòu),業(yè)務(wù)系統(tǒng)組織標(biāo)準(zhǔn)機(jī)構(gòu)的創(chuàng)建,修改,刪除必須通過統(tǒng)一用戶身份管理系統(tǒng)同步。
(e)用戶訪問業(yè)務(wù)系統(tǒng)的驗(yàn)證頁面時(shí),驗(yàn)證頁面需能解析Cookie中賬號信息,以及請求的目標(biāo)地址。業(yè)務(wù)系統(tǒng)完成用戶認(rèn)證后,必須能夠定向到用戶訪問的目標(biāo)地址頁面,不能轉(zhuǎn)向到業(yè)務(wù)系統(tǒng)首頁或其他頁面。
(f)業(yè)務(wù)系統(tǒng)在判定用戶請求的目標(biāo)地址時(shí)候,應(yīng)判斷所請求的地址是否是系統(tǒng)自身登錄頁面,如果是,應(yīng)自動(dòng)跳轉(zhuǎn)至登陸成功后的地址。
對于CS架構(gòu)的業(yè)務(wù)系統(tǒng),需要業(yè)務(wù)系統(tǒng)進(jìn)行改造,通過JSP頁面獲取到登錄信息后,可以實(shí)現(xiàn)從JSP頁面啟動(dòng)CS客戶端,并跟進(jìn)獲取到登錄信息登錄至CS系統(tǒng)中。
4 結(jié) 論
本文提供的統(tǒng)一身份認(rèn)證解決方案能夠幫助簡化應(yīng)用系統(tǒng)用戶創(chuàng)建及變更的流程,保持應(yīng)用系統(tǒng)中用戶數(shù)據(jù)與權(quán)威數(shù)據(jù)源的一致性,確保用戶基礎(chǔ)信息的準(zhǔn)確性,提高整體安全性和企業(yè)系統(tǒng)的集成度,同時(shí)簡化用戶操作,改善用戶體驗(yàn)度,避免用戶記憶多套賬號信息,為用戶提供一站式、個(gè)性化、全面的服務(wù)。
主要參考文獻(xiàn)
[1]王茜,史晨昱,李安穎,等.基于統(tǒng)一用戶管理的辦公業(yè)務(wù)資源系統(tǒng)集成[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014(1):200-203.
[2]胡娟.統(tǒng)一用戶管理與單點(diǎn)登錄系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2014.
[3]王樺,黃紹建,周可,等.基于郵箱的統(tǒng)一用戶認(rèn)證[J].華中科技大學(xué)學(xué)報(bào):自然科學(xué)版,2013(z2):38-41.
[4]趙菁.基于企業(yè)門戶統(tǒng)一認(rèn)證系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].信息安全與技術(shù).2012(8):27-29.
[5]S K Bhosale. Architecture of a Single Sign on(SSO)for Internet Banking[C]//IEF Conference on Wireless,Mobile and Multimedia Network,2008.
[6]張振,朱志祥,梁小江.一種統(tǒng)一用戶管理和認(rèn)證授權(quán)方案[J].電子科技,2015,28(5):140-146.
[7]蔡芳.統(tǒng)一用戶與單點(diǎn)登錄實(shí)現(xiàn)應(yīng)用系統(tǒng)集成方法研究[J].電腦知識與技術(shù),2016,12(27):188-190.
[8]付影平,杜程,劉建華.基于SAML單點(diǎn)登錄模型研究與設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2015,38(16):38-41.