周虹霞
(中國(guó)國(guó)家博物館 北京市 100006)
目前國(guó)博沒(méi)有統(tǒng)一身份認(rèn)證系統(tǒng),具體情況如下:
采用吉大正元提供的認(rèn)證引擎進(jìn)行驗(yàn)證。在PC 端使用UKEY,UKEY 中存儲(chǔ)用戶(hù)名信息,登錄入口通過(guò)獲取UKEY 中的用戶(hù)登錄名來(lái)識(shí)別用戶(hù)身份。身份識(shí)別系統(tǒng)未進(jìn)一步實(shí)現(xiàn)用戶(hù)授權(quán)、統(tǒng)一身份證的功能。
綜合工作平臺(tái)提供登錄入口,用戶(hù)登錄后,通過(guò)平臺(tái)跳轉(zhuǎn)到各應(yīng)用系統(tǒng)。平臺(tái)與各應(yīng)用系統(tǒng)之間通過(guò)傳遞token 方式進(jìn)行身份校驗(yàn),校驗(yàn)規(guī)則簡(jiǎn)單,存在安全漏洞,未實(shí)現(xiàn)完整的單點(diǎn)登錄功能。
機(jī)構(gòu)和用戶(hù)信息沒(méi)有管理界面。目前通過(guò)人員中間庫(kù)中的部門(mén)表、人員表和崗位表進(jìn)行數(shù)據(jù)共享和交換,該中間庫(kù)只能通過(guò)綜合工作平臺(tái)手動(dòng)維護(hù)。
2.1.1 缺乏統(tǒng)一身份認(rèn)證體系結(jié)構(gòu)
身份認(rèn)證管理所需的賬號(hào)信息、用戶(hù)信息、認(rèn)證管理分別在不同的應(yīng)用系統(tǒng)和數(shù)據(jù)庫(kù)中,用戶(hù)賬號(hào)與用戶(hù)信息割裂,各個(gè)模塊之間沒(méi)有交互或交互很少,未形成統(tǒng)一的身份認(rèn)證閉環(huán),導(dǎo)致身份認(rèn)證管理形同虛設(shè)。
2.1.2 用戶(hù)信息數(shù)據(jù)不完整
人員中間庫(kù)中只提供了基本的機(jī)構(gòu)與用戶(hù)信息,且數(shù)據(jù)項(xiàng)不完整,沒(méi)有覆蓋各應(yīng)用的業(yè)務(wù)需求。沒(méi)有進(jìn)行機(jī)構(gòu)用戶(hù)等信息的統(tǒng)一管控,未實(shí)現(xiàn)與人力資源系統(tǒng)、賬號(hào)識(shí)別系統(tǒng)、各個(gè)業(yè)務(wù)系統(tǒng)之間的數(shù)據(jù)同步與交換。
2.1.3 應(yīng)用系統(tǒng)權(quán)限分散
各個(gè)應(yīng)用系統(tǒng)分別維護(hù)可以訪(fǎng)問(wèn)本系統(tǒng)的用戶(hù)。多個(gè)系統(tǒng)權(quán)限的分散,使管理員工作量增加,且容易帶來(lái)安全漏洞。
2.1.4 用戶(hù)體系資源浪費(fèi)新建業(yè)務(wù)系統(tǒng)時(shí),如沒(méi)有統(tǒng)一用戶(hù)管理,就需新建用戶(hù)管理體系,重復(fù)建設(shè)造成了資源浪費(fèi)。
2.1.5 內(nèi)網(wǎng)系統(tǒng)的支持
目前的登錄驗(yàn)證機(jī)制主要應(yīng)用在辦公網(wǎng)應(yīng)用,未提供對(duì)內(nèi)網(wǎng)應(yīng)用系統(tǒng)的支持。
2.2.1 用戶(hù)唯一標(biāo)識(shí)
統(tǒng)一身份認(rèn)證系統(tǒng)從人力資源系統(tǒng)或自己生成用戶(hù)的唯一標(biāo)識(shí),為避免涉密數(shù)據(jù),唯一標(biāo)識(shí)不使用身份證號(hào),該標(biāo)識(shí)可參與應(yīng)用系統(tǒng)的數(shù)據(jù)交換。
2.2.2 館內(nèi)和館外用戶(hù)管理
(1)館內(nèi)用戶(hù)管理:對(duì)接人力資源系統(tǒng),通過(guò)接口推送/拉取、數(shù)據(jù)庫(kù)同步等方式,實(shí)現(xiàn)用戶(hù)管理系統(tǒng)與人力資源系統(tǒng)的數(shù)據(jù)同步。
(2)館外用戶(hù)管理:“智慧國(guó)博”范圍內(nèi),有一些應(yīng)用系統(tǒng)支持外部用戶(hù)的訪(fǎng)問(wèn),通過(guò)提供對(duì)外接口,應(yīng)用系統(tǒng)通過(guò)訪(fǎng)問(wèn)該接口,發(fā)起“新增館外人員申請(qǐng)”,啟動(dòng)工作流審批,審批通過(guò)后,在用戶(hù)管理系統(tǒng)中增加館外人員。
2.2.3 與其他應(yīng)用系統(tǒng)對(duì)接
統(tǒng)一身份認(rèn)證系統(tǒng)提供客戶(hù)端和一系列接口,實(shí)現(xiàn)與第三方系統(tǒng)的集成。系統(tǒng)提供客戶(hù)端JAR 包/SDK、接口文檔等指導(dǎo)各個(gè)應(yīng)用系統(tǒng)的實(shí)現(xiàn)。
2.2.4 內(nèi)外網(wǎng)統(tǒng)一身份認(rèn)證
系統(tǒng)采用微服務(wù)架構(gòu)運(yùn)行于國(guó)博云之上,同時(shí)支持內(nèi)網(wǎng)和辦公網(wǎng)應(yīng)用的統(tǒng)一身份認(rèn)證需求,系統(tǒng)需要在內(nèi)網(wǎng)和辦公網(wǎng)分別部署。
2.2.5 各系統(tǒng)訪(fǎng)問(wèn)權(quán)限管理
設(shè)立用戶(hù)的應(yīng)用系統(tǒng)訪(fǎng)問(wèn)權(quán)限表,各系統(tǒng)注冊(cè)后分配賬號(hào),通過(guò)接口方式自行維護(hù)自己系統(tǒng)的用戶(hù)訪(fǎng)問(wèn)權(quán)限。
2.2.6 現(xiàn)有中間庫(kù)數(shù)據(jù)的過(guò)渡
在數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí),盡量沿用目前人員中間庫(kù)的數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù),減少已開(kāi)發(fā)完成的業(yè)務(wù)系統(tǒng)集成的工作量。
統(tǒng)一身份認(rèn)證系統(tǒng)遵循“智慧國(guó)博”項(xiàng)目統(tǒng)一技術(shù)架構(gòu)規(guī)劃,采用微服務(wù)架構(gòu)進(jìn)行開(kāi)發(fā)設(shè)計(jì),應(yīng)用華為推出的產(chǎn)品級(jí)微服務(wù)開(kāi)發(fā)框架CSE Java SDK 實(shí)現(xiàn)。WEB 前端采用VUE 框架,工作流引擎采用Activiti,數(shù)據(jù)庫(kù)采用達(dá)夢(mèng)7.0 版,采用CAS 中央認(rèn)證服務(wù)實(shí)現(xiàn)單點(diǎn)登錄。系統(tǒng)部署在國(guó)博云的虛擬機(jī)中,并在內(nèi)網(wǎng)和辦公網(wǎng)分別部署,兩套系統(tǒng)通過(guò)網(wǎng)閘進(jìn)行通訊,實(shí)現(xiàn)認(rèn)證數(shù)據(jù)和用戶(hù)數(shù)據(jù)的同步,采用負(fù)載均衡技術(shù)保障系統(tǒng)安全。
系統(tǒng)架構(gòu)圖如圖1 所示。
圖1:系統(tǒng)架構(gòu)圖
對(duì)于接入系統(tǒng),認(rèn)證中心接口協(xié)議調(diào)用采用HTTPS 傳輸方式,通信安全問(wèn)題將轉(zhuǎn)化到HTTPS 傳輸?shù)陌踩詥?wèn)題上,而對(duì)于HTTPS 通道的攻擊,可以由單獨(dú)的網(wǎng)絡(luò)掃描模塊專(zhuān)門(mén)負(fù)責(zé)監(jiān)控。
對(duì)于統(tǒng)一認(rèn)證和SSO 接口參數(shù)的信息安全,一方面可采用專(zhuān)有加密算法對(duì)參數(shù)內(nèi)容進(jìn)行加密,另一方面,可以采用IP 認(rèn)證策略來(lái)保證對(duì)接口雙方的信任,系統(tǒng)通過(guò)通道安全和信息加密雙保險(xiǎn)的措施來(lái)保證統(tǒng)一認(rèn)證體系的接口安全。
同時(shí)系統(tǒng)配有全方面的應(yīng)用監(jiān)控和訪(fǎng)問(wèn)日志的審計(jì),當(dāng)發(fā)生異常情況或日志審計(jì)檢測(cè)到有可疑入侵行為時(shí),會(huì)自動(dòng)以多種方式通知到相關(guān)負(fù)責(zé)人。
統(tǒng)一身份認(rèn)證系統(tǒng)是一個(gè)集用戶(hù)身份、認(rèn)證與權(quán)限的支撐平臺(tái),實(shí)現(xiàn)了身份認(rèn)證、身份管理、授權(quán)管理和審計(jì)管理等業(yè)務(wù)功能。
認(rèn)證管理提供統(tǒng)一的認(rèn)證服務(wù),實(shí)現(xiàn)各系統(tǒng)之間的單點(diǎn)登錄,最終實(shí)現(xiàn)一次登錄平臺(tái)、全程訪(fǎng)問(wèn)、操作規(guī)范、統(tǒng)一界面的無(wú)縫操作模式。為了增強(qiáng)其安全性,實(shí)現(xiàn)提供多種高強(qiáng)度認(rèn)證(多因子認(rèn)證),并且對(duì)所有的登錄和訪(fǎng)問(wèn)行為進(jìn)行審計(jì)。
多因子認(rèn)證:實(shí)現(xiàn)了UKEY 認(rèn)證、賬號(hào)密碼認(rèn)證、手機(jī)號(hào)+驗(yàn)證號(hào)認(rèn)證等方式。
集中認(rèn)證中心:負(fù)責(zé)用戶(hù)身份驗(yàn)證、應(yīng)用系統(tǒng)登錄狀態(tài)維護(hù)、票據(jù)生成與發(fā)放。
認(rèn)證客戶(hù)端:用于實(shí)現(xiàn)各個(gè)應(yīng)用系統(tǒng)與統(tǒng)一身份認(rèn)證系統(tǒng)集成。
單點(diǎn)登錄:與集中認(rèn)證中心交互,提供多種登錄方式,實(shí)現(xiàn)一次登錄、多點(diǎn)漫游。
身份管理對(duì)用戶(hù)賬號(hào)及用戶(hù)信息進(jìn)行統(tǒng)一管理,確保用戶(hù)在“智慧國(guó)博”范圍內(nèi)只有一個(gè)賬號(hào),避免了一個(gè)人擁有多個(gè)賬號(hào),難于記憶,操作復(fù)雜等問(wèn)題。實(shí)現(xiàn)了機(jī)構(gòu)管理、用戶(hù)管理、館外用戶(hù)審批等功能。
機(jī)構(gòu)管理:實(shí)現(xiàn)組織機(jī)構(gòu)的維護(hù)、數(shù)據(jù)同步等功能。
用戶(hù)管理:實(shí)現(xiàn)用戶(hù)基本信息的維護(hù)、數(shù)據(jù)同步等功能。
館外用戶(hù)審批:實(shí)現(xiàn)館外用戶(hù)申請(qǐng)的審批過(guò)程管理。審批通過(guò)后的館外用戶(hù),可以訪(fǎng)問(wèn)“智慧國(guó)博”范圍內(nèi)的應(yīng)用系統(tǒng)。
崗位兼職管理:提供用戶(hù)的兼職崗位管理,為應(yīng)用系統(tǒng)提供用戶(hù)崗位兼職查詢(xún)服務(wù)。
職稱(chēng)職級(jí)管理:提供用戶(hù)的職稱(chēng)職級(jí)管理,為應(yīng)用系統(tǒng)提供用戶(hù)職級(jí)職稱(chēng)查詢(xún)服務(wù)。
實(shí)現(xiàn)統(tǒng)一的權(quán)限管理,加強(qiáng)授權(quán)管控,提高授權(quán)合理性、規(guī)范性檢查;集中監(jiān)控用戶(hù)在不同業(yè)務(wù)應(yīng)用上的權(quán)限分配。本系統(tǒng)提供應(yīng)用系統(tǒng)訪(fǎng)問(wèn)授權(quán),對(duì)于應(yīng)用系統(tǒng)內(nèi)部的權(quán)限由各個(gè)應(yīng)用系統(tǒng)自行控制。包括統(tǒng)一身份認(rèn)證系統(tǒng)的內(nèi)部權(quán)限控制及各個(gè)應(yīng)用系統(tǒng)的訪(fǎng)問(wèn)權(quán)限控制。具體功能包括:角色權(quán)限管理、應(yīng)用系統(tǒng)管理、應(yīng)用系統(tǒng)授權(quán)。
角色權(quán)限管理:提供角色組、角色管理、角色權(quán)限設(shè)置等功能。
應(yīng)用系統(tǒng)管理:提供應(yīng)用系統(tǒng)基本信息管理、注冊(cè)、注銷(xiāo)等功能。
應(yīng)用系統(tǒng)授權(quán):提供多種方式為用戶(hù)設(shè)置應(yīng)用系統(tǒng)訪(fǎng)問(wèn)權(quán)限。
統(tǒng)一的審計(jì)管理能有效審計(jì)業(yè)務(wù)流程和權(quán)限變更、認(rèn)定用戶(hù)行為責(zé)任,通過(guò)集中統(tǒng)一的系統(tǒng)訪(fǎng)問(wèn)審計(jì)分析,能夠及時(shí)發(fā)現(xiàn)入侵行為,進(jìn)行權(quán)限風(fēng)險(xiǎn)分析和預(yù)警。包括日志管理和統(tǒng)計(jì)分析。
日志管理:提供不同類(lèi)型(登入登出、操作、接口調(diào)用等)的日志采集、查詢(xún)等功能。
統(tǒng)計(jì)分析:提供圖形、表格等多種形式的日志統(tǒng)計(jì)分析功能。
統(tǒng)一身份認(rèn)證系統(tǒng)的核心是“用戶(hù)信息”,本系統(tǒng)建立了一系列適合國(guó)博用戶(hù)管理要求的元數(shù)據(jù)規(guī)范。
系統(tǒng)基礎(chǔ)數(shù)據(jù)包括組織機(jī)構(gòu)數(shù)據(jù)、館內(nèi)用戶(hù)數(shù)據(jù)、館外用戶(hù)數(shù)據(jù)、應(yīng)用系統(tǒng)數(shù)據(jù)、角色權(quán)限數(shù)據(jù)等。組織機(jī)構(gòu)、館內(nèi)用戶(hù)數(shù)據(jù)來(lái)源于人力資源管理系統(tǒng),通過(guò)與人力資源系統(tǒng)集成,實(shí)現(xiàn)定時(shí)更新。館外用戶(hù)數(shù)據(jù)來(lái)源于各個(gè)應(yīng)用系統(tǒng)的訪(fǎng)問(wèn)需求,通過(guò)業(yè)務(wù)流程審批后,納入到統(tǒng)一身份認(rèn)證系統(tǒng)中進(jìn)行管理。根據(jù)“智慧國(guó)博”范圍內(nèi)已有應(yīng)用系統(tǒng)情況,將其統(tǒng)注冊(cè)到統(tǒng)一身份認(rèn)證系統(tǒng)中,支持新建應(yīng)用系統(tǒng)的注冊(cè)管理。通過(guò)角色權(quán)限管理,建立用戶(hù)與應(yīng)用系統(tǒng)之間的關(guān)聯(lián)關(guān)系。上述各類(lèi)數(shù)據(jù)為統(tǒng)一身份認(rèn)證、單點(diǎn)登錄提供數(shù)據(jù)基礎(chǔ)。
統(tǒng)一身份認(rèn)證系統(tǒng)是“智慧國(guó)博”的統(tǒng)一認(rèn)證中心和登錄入口,為了保證國(guó)博所有信息化系統(tǒng)的互連互通,避免信息孤島,完成各個(gè)業(yè)務(wù)功能,需要與其他第三方系統(tǒng)進(jìn)行集成。系統(tǒng)集成通過(guò)集成統(tǒng)一身份認(rèn)證客戶(hù)端進(jìn)行身份認(rèn)證和用戶(hù)數(shù)據(jù)的傳遞交換。
提供給應(yīng)用系統(tǒng)的用戶(hù)查詢(xún)接口,包括檢查賬號(hào)是否可用、新增館外用戶(hù)、用戶(hù)信息修改、查詢(xún)機(jī)構(gòu)信息、根據(jù)機(jī)構(gòu)id 獲取用戶(hù)信息、查詢(xún)用戶(hù)信息、根據(jù)用戶(hù)登錄名獲取機(jī)構(gòu)信息、根據(jù)用戶(hù)登錄名查詢(xún)用戶(hù)權(quán)限、新增用戶(hù)權(quán)限等。
提供給人力資源系統(tǒng)的數(shù)據(jù)同步接口,包括機(jī)構(gòu)數(shù)據(jù)同步接口、人員數(shù)據(jù)同步接口、崗位數(shù)據(jù)同步接口、基表數(shù)據(jù)同步接口等。
統(tǒng)一身份認(rèn)證系統(tǒng)實(shí)現(xiàn)了“智慧國(guó)博”范圍內(nèi)的統(tǒng)一用戶(hù)管理、統(tǒng)一授權(quán)管理和單點(diǎn)登錄,并支持第三方系統(tǒng)的認(rèn)證服務(wù)。在系統(tǒng)設(shè)計(jì)時(shí),考慮到信息化建設(shè)過(guò)程中系統(tǒng)更新升級(jí)、業(yè)務(wù)需求變化、以及統(tǒng)一身份認(rèn)證系統(tǒng)自身可能帶來(lái)的單點(diǎn)故障問(wèn)題等情況,系統(tǒng)的各子系統(tǒng)設(shè)計(jì)相對(duì)獨(dú)立,保證了系統(tǒng)的穩(wěn)定性,強(qiáng)化了易更新、易集成的特性,為“智慧國(guó)博”項(xiàng)目提供有力支撐。隨著統(tǒng)一身份認(rèn)證系統(tǒng)的逐步完善,將在多平臺(tái)信息系統(tǒng)建設(shè)中發(fā)揮重要作用。