崔娟娜
(中國水利水電第十一工程局有限公司 河南 鄭州 450001)
隨著公司工程業務的不斷發展,公司管理層信息化意識逐漸增強,各業務信息系統逐漸增多,各系統組織、人員信息更新不及時,管理困難,且系統容易被外界攻擊,存在安全隱患[1]。目前,各集團企業比較常見的解決方案是實施統一用戶身份管理系統實現各業務系統賬號統一和單點登錄。本文通過水電十一局統一身份認證管理系統開發實踐,對系統相關功能設計進行闡述和分析。
目前,水電十一局已建的業務應用系統有財務管理系統、報銷系統、人力資源系統,OA系統、知識管理系統等十幾個應用系統,存在一人多個應用系統賬號的問題,工作人員辦理業務需要訪問多個業務應用系統地址,且不同業務應用系統需要不同系統管理員進行系統用戶和組織機構的維護,造成了用戶身份信息分散,人工維護工作量較大,沒有統一的用戶身份管理,用戶在各應用系統中的賬號權限無法集中管理和查看問題。建設實施統一用戶身份管理系統在一定程度上可以實現用戶的統一管理,統一授權[2]。使用統一身份認證管理平臺可以簡化登錄流程,與用戶管理有關的數據庫信息存儲在認證服務器中,可以實現應用漫游。統一身份認證平臺還被運用到醫療、保險、金融行業當中,簡化了辦事流程,提高了行業工作效率。
統一身份認證管理就是利用認證和服務相分離的思想,將多個應用系統中的身份認證模塊剝離出來,提供一個統一的身份認證入口,使所有的應用系統的用戶都能夠使用它來進行身份認證,用戶信息在安全性上得以保障。建立統一身份認證管理系統后,各系統用戶只需主動地進行一次身份認證,之后不需要主動參與其他系統的身份認證過程,便可以訪問其被授權的所有網絡設備或信息系統。
統一身份認證管理系統總體架構主要包括身份管理子系統、認證訪問控制子系統、集成對接服務及將要集成對接的應用系統[3]。系統總體架構見圖1,其中身份管理子系統一方面負責用戶管理與賬號管理,另一方面負責與上游人力資源系統數據對接以及與下游業務系統的數據傳遞。認證與訪問控制子系統負責用戶認證和單點登錄的實現。

圖1 系統總體架構示意圖
在硬件配置上,系統配置了2臺4核CPU,16 G內存,100 G的存儲空間供應用服務;提供了2臺4核CPU,16 G內存,500 G存儲空間進行數據服務;采用了2臺4核CPU,16 G內存,100 G存儲進行網絡負載均衡服務。
在軟件部署上,使用centos7.7操作系統,采用Mysql主備復制模式的數據庫,應用層服務采用集群進行部署,由Nginx進行網絡負載均衡的網絡流量的分發。
身份管理子系統是統一身份認證管理系統的數據中心,它集中了統一身份認證管理系統的基礎數據信息。身份管理子系統包含了用戶管理、賬號管理、權限管理、審計管理等模塊,對用戶、賬號及授權信息進行集中管理,一方面保證了用戶信息的安全性和準確性,另一方面為管理員提供了更加細致的權限管理,方便了管理員對用戶和賬號的管理。
水電十一局統一身份認證管理系統在數據同步上的設計思路是以公司人力資源系統組織機構和人員信息為統一身份認證管理系統上游數據源,將人力資源系統中組織和人員信息實時同步至統一身份認證管理系統并為下游業務系統提供相應服務,數據同步具體流程為:
(1)人力資源系統作為上游數據源,將系統中的組織機構、員工信息及任職記錄信息在員工到崗、離職、變更時通過,統一身份認證管理系統提供的相應接口服務,實時同步至統一身份認證管理系統。(2)建立統一的組織信息、用戶信息和賬號信息。(3)當下游業務系統需要統一身份認證管理系統組織、人員信息時,由統一身份認證管理系統完成組織、人員信息的推送工作并實時同步數據。
以上為統一身份認證管理系統與上下游系統數據同步流程,通過上游人力資源系統、統一身份認證管理系統和下游業務系統三層系統數據同步,統一了用戶信息,實現了信息系統組織和人員信息的安全統一管理和維護,形成了對用戶身份的全生命周期閉環管理,同時為下游各業務系統提供組織和人員信息的供給,將各應用系統緊密連接起來。
3.3.1 數據生命周期管理
身份管理子系統中的數據通過與各業務系統的集成實現對組織、人員信息進行生命周期的統一管理,下面以人員信息為例進行說明。
(1)人員入職時,人力資源系統創建員工信息,通過調用統一身份認證管理系統人員新建接口,將人員信息同步至統一身份認證管理系統,自動創建統一身份認證管理系統賬號,并根據各業務系統需要將人員相關信息同步至下游系統,使用戶擁有應用系統的訪問權限,但需要說明的是,統一身份認證管理系統僅僅使用戶擁有了業務系統的訪問權限,用戶所在業務系統中具體的操作權限由所在業務系統管理員單獨配置。
(2)人員崗位變更、退休或離職時,人力資源系統通過調用統一身份認證管理系統人員變動接口,將變動信息實時同步至統一身份認證管理系統,并根據需要將此賬號對應的應用系統權限進行賬號禁用或注銷。
上述場景的操作,一方面統一身份認證管理系統自動完成了員工一個賬號多個應用系統權限的創建、更新和注銷操作;另一方面最大程度地避免了員工賬號擁有與其崗位不相關的應用系統操作權限,加強了賬號權限的精細化管理,保證了信息安全;一定程度上節省了多個應用系統管理員對賬號的重復操作,有效地提高了工作效率,削減了管理成本。
3.3.2 統一身份認證管理系統數據信息展示
身份管理子系統與上游人力資源系統實現集成對接之后,統一身份認證管理系統組織及人員信息模塊完成了數據初始化工作,公司統一身份認證管理系統組織架構為多級架構,由于下游業務系統對組織架構的要求,在這里設置了實體和虛擬組織,紅包的代表虛擬組織,藍色的代表實體組織。
人員信息管理在用戶管理平臺中包含了多種信息:賬號、姓名、照片、工號、手機號、郵箱、職務、所屬機構等信息,用戶通過賬號、手機號進行認證登錄。賬號命名規則為11j+姓名全拼,有重名用1、2…進行標識。
單點登錄是指用戶僅需要一次身份認證就可以訪問多個相互信任的應用系統,單點登錄的實現離不開認證技術和單點登錄技術的運用,統一身份認證管理系統在認證技術上提供了Web端的OAuth 2.0授權碼模式對第三方應用賬號進行認證授權。OAUTH的授權不會使第三方應用系統獲取到用戶的賬號信息,也就是說第三方應用系統無需使用用戶的用戶名與密碼就可以申請獲得該用戶資源的授權。統一身份認證管理系統提供了多種安全認證方式,目前支持賬號密碼認證、短信驗證碼認證、二維碼掃碼認證多種認證方式。
統一身份認證管理系統在單點登錄上,提供了SAML 2.0的單點登錄標準。SAML是用于解決網頁瀏覽器單點登錄的方式之一。它用于兩系統之間交換身份驗證和授權數據,尤其是在身份提供者和服務提供者之間進行交換。
水電十一局系統單點登錄流程為:用戶在登錄頁輸入賬號、密碼登錄公司協同門戶平臺進入單點登錄管理中心界面,點擊需要單點訪問的業務系統,瀏覽器跳轉至authorize查詢此賬號的授權信息,系統在后臺獲得token后獲得用戶信息,之后系統判斷賬號在應用系統是否存在,若存在,則單點進入相應的業務系統,若不存在則提示該登錄用戶無賬號或賬號不存在。
統一身份管理系統服務器端采用HTTP協議和RESTful Webservice接口與第三方業務系統進行集成對接,部分接口信息見表1。

表1 部分接口信息表
在數據安全上,數據庫部署在安全區域中,保證基礎安全;用戶敏感數據加密,用戶密碼采用PBE加密算法加密后,用密文存儲;在接口安全上,任何調用該平臺接口的第三方系統,都需要進行身份校驗。在網絡安全上,系統采用了Web服務器、應用服務器、數據庫服務器3層結構進行部署,同時進行端口檢測,關閉了不需要的端口,確保系統正常端口的訪問。
本文主要闡述了統一身份管理系統在水電十一局的部署和應用,一方面為下游業務系統實時提供了組織和人員信息,保證了業務系統相關數據的準確性,另一方面實現了各業務系統賬號統一和單點登錄,方便了用戶對各系統的訪問,實現了用戶的統一管理,統一授權。