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