微服务架构与企业身份认证门户的融合方案
来源:用户上传
作者:
摘 要
本文基于企业系统微服务架构应用场景,针对核电行业高安全性要求,在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 微服务的集中式与分布式架构
集中式访问控制架构-在统一身份认证门户的基础上,接入不同的微服务业务系统,实现集中式的路由访问模式。不同的访问请求汇聚到统一用户授权服务中,由其进行统一权限校验,并路由到访问请求的业务服务中。统一授权服务管理接入到集成平台对应接口的微服务业务系统权限。通过该权限校验可路由到指定业务系统中;未通过校验,则返回至客户端页面并提示无访问权限。集中式架构一方面采用了高集权、高统一、高聚合的权限中心进行身份校验,将非法的访问控制请求拒绝,并阻断在统一身份认证门户的外部;另一方面方便了管理员与用户的使用体验,更方便地实现授权、维护的统一管理,提高了管理力度与效率。集中式架构的缺点是过于依赖同一个中心来处理不同请求,如访问请求过载时,统一认证中心相对压力较大,此时连接池的线程较多,容易出现抛弃线程的单点故障和排队效应的性能瓶颈。基于在微服务系统中微服务业务相对较少的场景时,该服务可较好适应,但承担更大的访问压力时,统一权限中心和门户的性能将受到影响。
在分布式访问控制微服务架构中,每个服务分别拥有独立的访问控制站点,需要将统一认证中心进行分布式部署,如图所示。与集中式架构相比,分布式权限管理将权限的校验站点部署在应用服务的前端,为应用服务提供轻量级访问,提高权限管理的灵活性。针对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.
转载注明来源:https://www.xzbu.com/8/view-15282540.htm