徐大鑫
(鄭州大道信息技術(shù)有限公司,河南 鄭州 450000)
云計(jì)算的核心思想是使用計(jì)算機(jī)網(wǎng)絡(luò)連接大量計(jì)算資源,并對這些計(jì)算資源進(jìn)行統(tǒng)一管理和調(diào)度,構(gòu)成一個(gè)虛擬的超性能計(jì)算資源池為用戶提供服務(wù)。從用戶角度來看,云計(jì)算是一個(gè)統(tǒng)一的計(jì)算資源池,但是本質(zhì)上云計(jì)算是一個(gè)包含了大量資源和服務(wù)的集合。
云計(jì)算技術(shù)的發(fā)展將物理上離散的各業(yè)務(wù)系統(tǒng)集成在一起,實(shí)現(xiàn)業(yè)務(wù)系統(tǒng)邏輯的統(tǒng)一,很大程度上解決了當(dāng)前“信息孤島”的問題。但是為了保證業(yè)務(wù)系統(tǒng)內(nèi)部功能和數(shù)據(jù)的安全,各業(yè)務(wù)系統(tǒng)都有各自的用戶權(quán)限驗(yàn)證功能,為了避免用戶在云環(huán)境下還需要分別登錄各業(yè)務(wù)系統(tǒng)以獲取業(yè)務(wù)系統(tǒng)內(nèi)的資源和服務(wù),就需要考慮云計(jì)算平臺(tái)的單點(diǎn)登錄(Single sign-on,SSO),通過統(tǒng)一的登錄和認(rèn)證,來使用云計(jì)算平臺(tái)的資源和服務(wù)。
云計(jì)算平臺(tái)就是通過計(jì)算機(jī)網(wǎng)絡(luò),將原來分散的資源和服務(wù)集中起來管理,虛擬成一個(gè)巨大的資源池,并根據(jù)用戶的需求提供相應(yīng)的服務(wù)。云計(jì)算平臺(tái)架構(gòu)如圖1所示。
云計(jì)算平臺(tái)的用戶驗(yàn)證具有如下的特點(diǎn):
(1)分布式管理
在云計(jì)算平臺(tái)將各個(gè)系統(tǒng)資源和服務(wù)集中起來進(jìn)行管理和調(diào)度時(shí),由于各信息系統(tǒng)都有各自區(qū)別化的認(rèn)證機(jī)制以保證資源和服務(wù)的安全,導(dǎo)致用戶在使用云計(jì)算平臺(tái)時(shí),需要進(jìn)行多次驗(yàn)證,極大影響了資源和服務(wù)的使用。
圖1 云計(jì)算平臺(tái)架構(gòu)圖
(2)多點(diǎn)輸出
云計(jì)算平臺(tái)是一個(gè)對資源和服務(wù)進(jìn)行統(tǒng)一管理的服務(wù)式平臺(tái),可以為不同的應(yīng)用提供服務(wù),通過不同的應(yīng)用平臺(tái)采用不同的認(rèn)證方案來進(jìn)行驗(yàn)證,域驗(yàn)證中心各類應(yīng)用能夠靈活運(yùn)用。
單點(diǎn)登錄的需求,就是在圖1所示的云計(jì)算平臺(tái)中,僅需要登錄云平臺(tái)時(shí)進(jìn)行驗(yàn)證,在用戶使用云平臺(tái)中具體信息管理系統(tǒng)的資源和服務(wù)時(shí),根據(jù)云平臺(tái)登錄信息,由云平臺(tái)來控制其與各信息管理系統(tǒng)之間的權(quán)限驗(yàn)證。從而,達(dá)到用戶只需要在云平臺(tái)中驗(yàn)證一次,就可以使用云平臺(tái)中各信息管理系統(tǒng)的資源和服務(wù)的目的。
(1)功能性需求
構(gòu)建云平臺(tái)統(tǒng)一的認(rèn)證中心,由云平臺(tái)管理內(nèi)部各系統(tǒng)的認(rèn)證,實(shí)現(xiàn)云平臺(tái)的單點(diǎn)登錄功能。
(2)非功能性需求
經(jīng)濟(jì)性:綜合考慮系統(tǒng)品質(zhì)和云計(jì)算平臺(tái)成本,盡量減少對系統(tǒng)改造所增加的系統(tǒng)改造成本。
安全性:在考慮云計(jì)算平臺(tái)方便用戶使用資源和服務(wù)的基礎(chǔ)上,重視各系統(tǒng)資源和服務(wù)的安全性。
可靠性:保證基于單點(diǎn)登錄的云計(jì)算平臺(tái)的穩(wěn)定可靠運(yùn)行,能夠?yàn)橛脩籼峁┏掷m(xù)的可靠資源和服務(wù)。
可擴(kuò)展性:考慮云計(jì)算平臺(tái)今后升級(jí)擴(kuò)容的需求,最大限度降低單點(diǎn)登錄所導(dǎo)致的系統(tǒng)負(fù)擔(dān)。
單點(diǎn)登錄模型設(shè)計(jì)如圖2所示。
圖2 單點(diǎn)登錄模型拓?fù)鋱D
如圖2所示,為保證云數(shù)據(jù)的安全性,使用安全網(wǎng)閘將云環(huán)境的外網(wǎng)與內(nèi)網(wǎng)隔離。云環(huán)境中不同域的公司區(qū)域建設(shè)不同的用戶認(rèn)證分中心,作為云環(huán)境總認(rèn)證中心的延伸。用戶既可以使用總認(rèn)證中心云環(huán)境中各信息系統(tǒng)的服務(wù)或數(shù)據(jù),也可以根據(jù)網(wǎng)絡(luò)情況使用分認(rèn)證中心進(jìn)行驗(yàn)證。
總認(rèn)證中心與分認(rèn)證中心之間的數(shù)據(jù)同步流程設(shè)計(jì)如圖3所示。
用戶信息是進(jìn)行云計(jì)算環(huán)境安全登錄的關(guān)鍵,在不同認(rèn)證中心進(jìn)行的注冊用戶,需要進(jìn)行同步共享。多認(rèn)證中心之間的用戶信息通過如圖4所示的定時(shí)同步方式進(jìn)行共享。
單點(diǎn)登錄過程中,驗(yàn)證中心與云環(huán)境中目標(biāo)系統(tǒng)之間的驗(yàn)證流程設(shè)計(jì)如圖5所示。
圖3 總認(rèn)證中心與分認(rèn)證中心之間的數(shù)據(jù)同步流程
圖4 認(rèn)證中心之間的用戶信息共享
圖5 驗(yàn)證中心與云環(huán)境中信息系統(tǒng)之間的驗(yàn)證流程
① 用戶通過驗(yàn)證中心(WebSEAL)訪問云環(huán)境中的目標(biāo)應(yīng)用系統(tǒng),驗(yàn)證中心通過LDAP進(jìn)行用戶權(quán)限驗(yàn)證;
② 驗(yàn)證通過后的用戶,通過驗(yàn)證中心登錄目標(biāo)應(yīng)用系統(tǒng),并使用目標(biāo)應(yīng)用系統(tǒng)的服務(wù)或資源;
③ 在訪問目標(biāo)應(yīng)用系統(tǒng)時(shí),驗(yàn)證中心將用戶進(jìn)行驗(yàn)證時(shí)的身份信息放到HTTP Header iv-user中進(jìn)行傳輸,由目標(biāo)應(yīng)用系統(tǒng)中獲取該身份信息后,通過應(yīng)用系統(tǒng)的驗(yàn)證體系進(jìn)行用戶身份認(rèn)證。
目標(biāo)系統(tǒng)獲取驗(yàn)證中心傳輸過來的用戶身份信息的具體實(shí)現(xiàn)如下所示:
String user=request.getHeader(“iv-user”);
為了確保通過HTTP Header傳輸?shù)挠脩趄?yàn)證信息是可信的,在進(jìn)行單點(diǎn)登錄時(shí)需要對認(rèn)證中心服務(wù)器IP地址進(jìn)行統(tǒng)一認(rèn)證,目標(biāo)業(yè)務(wù)系統(tǒng)獲取驗(yàn)證中心IP地址的方式如下所示:
String ipAddress=request.getRemoteAddr();
單點(diǎn)登錄模型的設(shè)計(jì),可以將云環(huán)境中物理和邏輯分散的業(yè)務(wù)系統(tǒng)集成在一起,從邏輯上更好地將云環(huán)境中物理分散的業(yè)務(wù)系統(tǒng)資源和服務(wù)集中在一起,能更好地體現(xiàn)云環(huán)境中資源和服務(wù)虛擬統(tǒng)一的優(yōu)勢。
[1]胡雅琴.單點(diǎn)登錄技術(shù)現(xiàn)狀調(diào)查與分析[J].軟件產(chǎn)業(yè)與工程,2014(1):53-56.
[2]林滿山,郭荷清.單點(diǎn)登錄技術(shù)現(xiàn)狀及發(fā)展[J].計(jì)算機(jī)應(yīng)用,2004,26(6):248-250
[3] 楊兆贊.Lotus Domino 和Web Sphere 平臺(tái)上單點(diǎn)登錄技術(shù)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)輔助工程,2004,13(1):69-73.