王冠

摘 要
本文基于企業系統微服務架構應用場景,針對核電行業高安全性要求,在OAuth2.0協議的基礎上從建立統一身份認證門戶的角度出發,使用SOA架構排除了信息孤島,打造了提升用戶體驗的便利場景,并通過門戶負載、認證負載、信息系統服務拆分、數據庫拆分、業務與數據治理等方面建立了基于微服務架構,身份認證門戶與系統應用融合的發展趨勢分析,形成了一整套較好的解決方案,在行業內有較強的借鑒意義和指導作用。
關鍵詞
微服務;身份認證;門戶;OAuth2.0 架構
中圖分類號: TP393.09 ? ? ? ? ? ? ? ? ? 文獻標識碼: A
DOI:10.19694/j.cnki.issn2095-2457.2020.19.085
0 引言
隨著企業統一身份認證門戶的建設與發展,并且基于統一用戶賬戶管理、統一身份認證平臺、統一權限管理平臺、統一審計管理、統一人員主數據、統一移動平臺等方面建設,通過應用聚合、功能聚合、待辦聚合、信息聚合的一體化集成方案,將所有的業務應用系統聚合,借助內容信息管理和站點注冊,最終實現全方位后臺管理,形成一站式的門戶展示平臺。
基于SOA架構整合的核心統一認證服務,主流的認證服務通常遵循標準的OAuth2.0協議,通過結合微服務的分布式架構,企業對于信息系統的業務治理、數據治理、安全治理、應用治理等方面的可實現全面的管理提升。
1 認證協議OAuth2.0與微服務介紹
OAuth(Open Authorization)又稱開放認證,2010年OAuth1.0被IETF認定為互聯網標準協議,OAuth2.0 在其1.0的版本上得以升級,其主要支持瀏覽器訪問、PC客戶端訪問、移動APP訪問、物聯設備訪問等不同的應用場景。OAuth2.0具備安全的運行機制,通過訪問令牌授權,保護用戶的賬號、密碼等敏感信息;開發簡單,支持PHP、JavaScript、Python等多語言開發環境;運行環境開放,支持PC端、移動端APP、物聯設備等多種設備和運行環境[1]。
微服務系統應用通過服務拆分,形成微小且獨立的服務,微服務架構接口豐富,具有高自由度、高內聚性、高自治能力等特征。微服務架構通過靈活的接口調用,打通了微服務之間的業務數據互訪,由此形成了松耦合結構的特征。微服務架構可根據業務的邊界迅速確定對應其系統應用的邊界,具備高自由度特征。微服務架構在應對當今核電行業對高實時性、高可靠性、高業務延展性、高敏捷開發的要求,具備著比較大的優勢,通過微服務治理能迅速解決傳統核電信息系統中信息孤島帶來的一系列問題[2]。
2 統一身份認證門戶訪問機制
目前主流的統一身份認證門戶,在身份認證方面通常遵循標準的OAuth2.0與OIDC協議,該認證接入方式主要是針對B/S架構的業務系統,接入統一認證類庫。
授權碼模式是統一身份認證門戶功能最完整、流程最嚴密的授權模式,同時也是國際標準OAuth2.0和OIDC協議的推薦模式。
統一身份認證門戶采用OAuth2.0 協議授權給用戶訪問的具體過程:
①統一身份認證門戶通過身份認證中心的授權登錄頁面向用戶請求權限;
②統一身份認證門戶得到用戶授權的會話許可,此許可可供訪問業務系統資源服務;
③統一身份認證門戶通過私有證書在內部認證中心進行鑒權,請求訪問令牌;
④內部認證中心驗證通過,向前端發放訪問令牌;
⑤統一身份認證門戶使用訪問令牌向被訪問的業務系統發送訪問申請,業務系統通過鑒權后,提供受保護的用戶信息[3]。
總體來說,業務系統和統一認證平臺的整個交互過程,以用戶登錄統一認證登錄頁面開始,點擊業務系統鏈接,通過單點登錄實現用戶無感進入業務系統。
3 微服務的集中式與分布式架構
集中式訪問控制架構-在統一身份認證門戶的基礎上,接入不同的微服務業務系統,實現集中式的路由訪問模式。不同的訪問請求匯聚到統一用戶授權服務中,由其進行統一權限校驗,并路由到訪問請求的業務服務中。統一授權服務管理接入到集成平臺對應接口的微服務業務系統權限。通過該權限校驗可路由到指定業務系統中;未通過校驗,則返回至客戶端頁面并提示無訪問權限。集中式架構一方面采用了高集權、高統一、高聚合的權限中心進行身份校驗,將非法的訪問控制請求拒絕,并阻斷在統一身份認證門戶的外部;另一方面方便了管理員與用戶的使用體驗,更方便地實現授權、維護的統一管理,提高了管理力度與效率。集中式架構的缺點是過于依賴同一個中心來處理不同請求,如訪問請求過載時,統一認證中心相對壓力較大,此時連接池的線程較多,容易出現拋棄線程的單點故障和排隊效應的性能瓶頸?;谠谖⒎障到y中微服務業務相對較少的場景時,該服務可較好適應,但承擔更大的訪問壓力時,統一權限中心和門戶的性能將受到影響。
在分布式訪問控制微服務架構中,每個服務分別擁有獨立的訪問控制站點,需要將統一認證中心進行分布式部署,如圖所示。與集中式架構相比,分布式權限管理將權限的校驗站點部署在應用服務的前端,為應用服務提供輕量級訪問,提高權限管理的靈活性。針對B/S架構下的訪問,通過圖示路由處理訪問請求對應的應用服務,并在分布式站點中完成權限校驗,執行訪問。同一個認證站點也可支持不同應用服務同時訪問,降低運行服務成本。通過分布式訪問控制架構更適用于應用服務數量多、跨地域部署、權限靈活多變等不同的業務場景,在不同的微服務分支結構中維護本區域的權限信息,進行相對而獨立的訪問控制,在統一認證中心權限同步分發部署的情況下,不會對其他的服務產生關聯影響[4]。
4 企業身份認證門戶與微服務的融合
分布式微服務架構在如下方面進行了拆分:
①分布式負載均衡門戶:通過Nginx的分布式部署,讓統一身份認證門戶實現了多服務器端負載訪問,實現了用戶展示層的冗余交互,提高了用戶展示層的性能;
②分布式統一認證中心部署:通過分布式統一認證中心部署,讓認證中心可以一對多、多對多的靈活授權,通過分布式部署實現了大用戶并發量的負載均衡,讓認證中心得以系統優化、高效運轉、靈活授權;
③分布式系統應用拆分部署:通過業務系統的微服務拆分,讓系統應用功能得以高效訪問,通過獨立調用數據庫實現Web Service鏈接的高效調用,微服務是系統應用的發展趨勢,通過整合系統架構,實現相應的架構方案落地實現;
④數據庫拆分部署的實現:通過數據庫的拆分部署,使得數據庫在虛擬化環境中以Docker的架構形式獨立管控,實現了更為安全的管控機制保障,實現了數據安全與數據備份機制的集中化管理,對于服務精細化治理有著良好的基礎設施保障;
⑤主數據中臺的實現:通過形成企業獨立的主數據中臺,使業務標準化流程和業務標準化數據形成單一數據源,通過專業化系統應用的單一數據錄入,和各系統對主數據的調用,形成良好的業務管控機制,實現最終的業務信息化全面的管理提升。
5 結束語
本文基于企業系統微服務架構應用場景,針對核電行業高安全性要求,在OAuth2.0協議的基礎上,通過建立統一身份認證門戶的角度出發,使用SOA架構排除了信息孤島,打造了提升用戶體驗的便利場景,并通過門戶負載、認證負載、信息系統服務拆分、數據庫拆分、業務與數據治理等方面建立了基于微服務架構,通過對統一身份認證門戶與系統應用融合的發展趨勢分析,形成了一套核電場景的微服務架構下身份認證解決方案,既能滿足對于業務領域的主數據治理和業務治理要求,也能滿足信息系統運維管理的鏈路追蹤、容錯保護、集群監控等內容,對于全面的業務標準化和信息系統標準化管理提升有著一定的借鑒意義。
參考文獻
[1]朱博昌.基于OAuth2.0協議的授權登錄國內應用現狀研究[J].現代信息科技,2019,3(20):151-154.
[2]吉書強.一種基于OAuth2.0的微服務電力系統授權方案[J].數字技術與應用,2019,37(6):103-105.
[3]劉大紅,劉明.第三方應用與開放平臺OAuth認證互連技術研究[J].電腦知識與技術,2012,8(22):5367-5369.
[4]朱永強,方意,宮學慶.微服務架構下訪問控制模型的設計與實現[J].計算機應用與軟件,2018,35(12):21-26+37.