李剛 姬同凱 楊建光 梁通







摘 要:企業統一身份認證平臺是企業信息化建設的基礎之一。本研究充分考慮多級組織機構、人員多重身份等因素,設計并實現了適用于集團型企業的身份認證平臺。該平臺整體采用B/S架構,使用前后端分離技術,其中采用VUE框架技術實現前端管理網頁,采用Spring Cloud Alibaba框架實現后端微服務。該平臺具有完善的人員、組織、權限、授權及認證體系,不僅能夠滿足企業的組織及人員管理需求,又能作為基礎平臺為整個信息化體系提供統一的身份認證。該平臺的應用能夠有效地避免企業信息化建設的重復投入,提高企業信息系統的建設效率。
關鍵詞:企業信息化;用戶管理;安全認證
中圖分類號:TP311.5 ? 文獻標志碼:A ? ? 文章編號:1003-5168(2022)6-0006-05
DOI:10.19968/j.cnki.hnkj.1003-5168.2022.06.001
Design and Implementation of Identity Authentication Platform for Group Enterprises
LI Gang ? ?JI Tongkai ? ?YANG Jianguang ? ?LIANG Tong
(SINOMACH Industrial Internet Research Institute (Henan) Co.,Ltd.,Zhengzhou 450007,China)
Abstract:Enterprise unified identity authentication platform is one of the foundations of enterprise information construction.By fully considering the ?factors such as multi-level organization and multiple identities of personnel, an identity authentication platform for group enterprises is designed and implemented.This platform is B/S architecture and uses front-end and back-end separation technology. The front-end management web page is realized based on VUE framework, and the back-end micro service is realized based on SpringCloudAlibaba framework.It has personnel, organization, authority, authorization and certification system, which can not only meet the organizational and personnel management needs of enterprises, but also serve as a basic platform to provide identity authentication for the whole information system.The apphication of this platform can effectively avoid repeated investment in enterprise iinformationconstruction efficiency of enterprise iuformation system.
Keywords: enterprise informatization; user management; security certification
0 引言
隨著數字化改革的深入,越來越多的企業處在數字化轉型階段[1]。在大型組織數字化轉型過程中,往往存在著大量的業務信息系統,需要統一的人員和組織體系作為基礎,統一的權限、授權及認證體系用來支撐企業一體化系統的安全管控。筆者在充分考慮集團型企業特點的同時,結合自身所在企業的實際需求,設計了統一身份認證平臺,并使用前后端分離技術[2]予以實現,其中采用VUE技術框架實現前端管理網頁,采用Spring Cloud Alibaba技術框架實現后端微服務,并支持分布式部署。該平臺在一定程度上能夠滿足較大規模集團型企業的管理需求,并支撐企業信息系統高并發、高可用、高性能地運行。
1 系統關鍵技術
1.1 權限模型
該系統采用基于角色的權限控制(Role-Based Access Control,RBAC)模型,能夠較好地解決企業信息系統權限管理問題[3](見圖1)。根據系統資源安全管控需要,定義不同級別的系統權限和不同的系統角色,并把角色與權限進行關聯。根據系統實際使用場景,賦予系統用戶合適的角色。
在實際應用中,一個復雜的企業信息系統往往需要定義較多的權限標識。因為系統鑒權功能是高頻使用功能,若系統權限標識的數量過多、數據量過大,將導致系統網絡的數據傳輸壓力大大增加,進而影響系統的整體響應能力。為了減少權限標識的數據體量,該系統采用二進制方式定義權限標識。每一個二進制位代表一個權限標識,并從低位向高位進行定義,保障擴展性。在給用戶分配完角色后,系統將得到用戶的統一系統權限標識,用于后續的系統鑒權。
1.2 單點登錄
單點登錄(Single Sign On,SSO)是企業信息化的基本需求。在統一的權限體系管控下,能夠使用戶在企業各個信息系統間進行合理地切換,無須用戶多次輸入賬號、密碼等認證信息,不僅能夠降低敏感信息泄露的風險,還能大幅度提升用戶體驗感。
該系統采用CAS框架實現系統間單點登錄[4],通過構建統一的CAS中心服務端,統一負責系統登錄認證,認證成功后將票據憑證發放給用戶。用戶在登錄其他系統時,可通過該憑證免于二次身份認證。通過CAS客戶端工具與企業信息系統相結合,對通過身份認證的用戶賦予相應的系統授權,控制用戶訪問內容。
1.3 接口鑒權
RESTful/HTTP的網絡接口[5]已成為系統向外提供服務的主流方式。采用Oauth2+JWT技術[6]可實現對該模式的接口鑒權,不僅能夠保障系統鑒權的統一性和普適性,其無狀態化設計也有利于接口鑒權信息在系統后端微服務間的高效使用。通過構建統一遵循Oauth2協議的授權中心,發放遵循JWT(Json Web Token)規范的Token令牌。其中,Oauth2客戶端模式用于企業信息系統間集成接口鑒權;Oauth2授權碼模式用于企業信息系統向外部系統的授權;Oauth2密碼模式用于信息系統核心業務接口的鑒權,該模式下Token令牌將包含用戶身份和權限信息。為了保障用戶的賬號信息安全,Web端用戶需要通過單點登錄憑證換取Token令牌,移動端用戶則在登錄認證后獲取Token令牌。
2 系統設計
2.1 總體設計
該系統劃分為表現層、控制層、服務層、數據層和支撐層,如圖2所示。
2.1.1 表現層。該層主要負責與用戶交互,包括身份認證管理Web端、移動端和其他業務Web端。身份認證管理Web端主要面向企業管理人員,用于系統管理;移動端和其他Web端則面向企業用戶,其中人員登錄認證、授權及鑒權服務均由平臺統一提供。
2.1.2 控制層。該層主要負責向外提供平臺接口和安全管控。其中,CAS中心服務負責單點登錄認證及用戶會話保持,授權中心負責Token令牌的頒發、續簽和驗證,接口網關負責提供統一的RESTful/HTTP的網絡接口。
2.1.3 服務層。該層主要負責平臺核心業務邏輯部分的實現,包括人員、組織、賬戶、應用、角色、權限、認證和授權服務,除了通過接口網關對外提供服務外,也支持在控制層的安全管控下,直接對企業其他業務系統提供集成服務。
2.1.4 數據層。該層主要負責數據(包括業務數據、緩存數據和配置數據)的存儲,以支撐服務層實現服務無狀態化。其中,業務數據存儲在關系型數據庫中,緩存數據存儲在分布式緩存中,配置數據存儲在分布式配置中心。
2.1.5 支撐層。該層主要負責支撐服務層相關業務的實現,并隔離需要訪問互聯網的短信、郵件等服務,能夠使服務層在企業內網中按需橫向擴展,增強服務的安全性。
2.2 數據模型
為了滿足集團型企業多級組織架構、人員多重身份和多業務信息系統等需求,在進行數據模型設計時需要遵循以下原則:①集團型企業組織機構采用樹形數據結構,集團型企業作為根級,下屬公司及部門作為子級進行發散;②人員可與多個組織機構產生關聯;③在系統應用維度中,進行相應的權限管理,人員可在多個應用中關聯不同角色。系統數據模型設計如圖3所示。
2.3 開放集成
企業人員、組織數據、賬戶為企業信息化的基礎數據,系統需要有完備的開放集成能力。在實際場景中,人員、組織、賬戶等數據可能已存在于企業現有人力資源等系統中,系統還需要具備數據交換功能,建立數據標準,把多源數據融為統一的數據源,具體集成架構如圖4所示。
3 系統實現
企業身份認證平臺的核心功能模塊分為三大功能模塊,包括基礎功能模塊、多源身份認證模塊和應用授權管理模塊,如圖5所示。
3.1 基礎功能模塊
3.1.1 組織機構管理。組織機構分為組織和部門兩種類型。組織一般等同于企業,有獨立的法人和統一社會信用代碼,也可以是虛擬組織,組織下可以有多個子組織或部門。部門一般等同于企業的職能機構,也可以是虛擬機構,部門可以有多個子部門,但不可擁有子組織。系統管理員手動錄入、文件導入、數據同步的方式進行添加組織機構,同時也支持組織機構的查詢、啟用/禁用、更新、刪除、上級組織機構變更等操作。
3.1.2 員工管理。員工具備唯一性,與真實世界的人員對應,其基本信息包括姓名、性別、證件號、手機號、郵箱等。員工管理模塊支持系統管理員手動錄入、文件導入、數據同步的方式對員工信息的添加,同時也支持員工的查詢、啟用/禁用、更新、刪除、關聯組織機構等操作。
3.1.3 賬戶管理。賬戶分為系統管理員賬戶和普通賬戶兩類。系統管理員負責平臺賬戶數據、認證數據、應用數據、權限數據的維護管理。普通賬戶是使用平臺進行統一管理、統一授權和統一認證的最小單元。支持管理員通過手動錄入、文件導入和數據同步的方式添加賬號,同時也支持賬戶的查詢、啟用/禁用、更新、刪除、隸屬組織機構變更、隸屬賬戶組維護、重置密碼、過期時間變更、啟用/禁用多因素認證等操作。
3.1.4 數據同步。系統提供統一的數據標準,用于多源數據的匯聚、清洗、處理及利用,最終形成統一的數據源。在數據處理時,要嚴格記錄數據的變化版本,以滿足其他系統進行全量、增量的數據同步。
3.2 身份認證模塊
3.2.1 密碼認證。系統為每個賬戶設置一個滿足系統密碼策略的賬戶密碼,并采用安全加密算法對密碼進行加密,用戶通過賬戶名、密碼進行身份認證。
3.2.2 短信認證。系統配置統一的短信網關,在用戶進行身份認證時,向用戶綁定的手機號發送帶有身份認證碼的短信,用戶通過手機號、認證碼進行身份認證。
3.2.3 CA證書認證。系統通過可信任的認證機構頒發的基于公鑰基礎設施(Public Key Infrastructure,PKI)構建包含用戶身份信息在內的數字證書來進行身份認證。
3.2.4 多因素認證。根據不同人員的不同登錄場景,智能設定多因素認證的訪問及驗證策略。支持“密碼認證+短信認證”“密碼認證+掃碼認證”等多重認證方式進行身份認證。
3.2.5 單點登錄。使用一套賬戶,經過系統一次認證,即可實現多個應用間的無縫切換使用,用戶無須反復登錄及記憶各個應用的賬號密碼。
3.2.6 策略配置。該系統支持自定義密碼、用戶名強弱規則,配置認證源所需的短信、郵件、證書等信息。
3.3 應用授權模塊
3.3.1 應用管理。應用由系統管理員配置錄入,包括應用圖標、應用名稱、所屬領域(公有云/私有云/移動/物聯網等)、應用類型(Web/移動/客戶端)、應用描述、賬戶關聯方式,在配置完成后,系統會生成應用認證協議相應的配置參數信息。
3.3.2 角色管理。應用角色信息包括角色名稱、角色編碼及角色描述,是系統的一組權限的集合、權限分配的單位和載體。
3.3.3 權限管理。對應用內的資源標識進行管理,包括子系統、目錄、菜單、按鈕等功能資源和業務數據資源。
3.3.4 賬戶權限。系統通過配置賬戶、應用角色、應用權限之間的關聯關系,從而實現對賬戶的多應用權限管控。一個賬戶在一個應用內可以擁有多個角色,賬戶擁有的權限為多個角色關聯的權限合集。
4 系統應用
該系統支持分布式部署模式,在面向用戶訪問接入的網絡隔離區(Demilitarized Zone,DMZ)環境中,部署負載服務器(Nginx)、網關服務器、授權中心服務器(Oauth2)、CAS中心服務器和消息服務器(短信/郵件)。在內網環境中,部署系統微服務集群、中間件服務器和數據庫服務器(MySQL)。中間件主要包括分布式配置中心與注冊中心(Nacos)、分布式緩存(Redis)、消息隊列(RocketMQ)等,系統部署架構圖如圖6所示。
該系統目前已在本企業上線運行,能夠滿足企業對人員、組織管理需要,并為企業其他業務系統提供統一的身份認證(見圖7)。
5 結語
本研究實現了集人員、組織、權限、授權及認證體系為一體的身份認證平臺,能夠作為集團型企業統一組織及人員管理、信息系統安全管控的平臺,提高企業信息資源的復用度和統一性。后續考慮在身份認證源中集成刷臉認證、指紋認證等方式,增強平臺能力,拓寬適用場景。
參考文獻:
[1] 王曉寧.剖析數字化轉型能力,加快數字化轉型步伐[J].軟件和集成電路,2022(1):30-31.
[2] 吳昌政.基于前后端分離技術的web開發框架設計[D].南京:南京郵電大學,2020.
[3] 張麗麗,鄔錫江,楊玉梅,等.基于RBAC的權限管理設計與自主開發應用[J].現代信息科技,2020(16):88-91.
[4] 蘇亞濤.基于CAS框架的高校統一身份認證平臺研究與實現[J].西安文理學院學報(自然科學版),2018(4):78-83.
[5] 劉香利.基于RESTful/HTTP的網絡管理接口定義方法和通知機制設計[D].北京:北京郵電大學,2019.
[6] 劉曉暉,秦子實.基于OAuth2認證的REST API設計與實踐[J].電腦知識與技術,2021(15):56-57.