构建基于分布式SOA架构的统一身份认证体系
来源:用户上传
作者:
摘 要:构建基于分布式SOA架构的统一身份认证体系的目的是将各信息系统用户、权限资源进行统一管理。但实现这一目标的前提是要充分了解SOA架构的特点。文章就此展开了论述,首先,明确了体系的构建目标与原则;其次,分析了用户和权限资源的统一管理方式以及基于分布式SOA架构应用系统集中方法;最后,详细阐述了如何实现基于分布式SOA架构的统一身份认证体系的构建。
关键词:分布式;SOA架构;统一身份;认证体系
1 体系的构建目标与原则
在系统建设前,一定要先明确建设目标,为后续的系统建设工作指明方向。构建基于分布式面向服务的架构(Service-oriented Architectur,SOA)的统一身份认证体系的目标是:以SOA架构为基础,构建能够跨平台、跨系统异构集成,且可进行统一集中管理的,安全可靠的身份认证体系,从而更好地为不同时期的业务系统提供服务[1]。
在系统设计中,应遵循以下原则:(1)安全。用户、权限资源不只是来自于一个业务系统,而是来自于不同的业务系统。所以,一定要保证统一身份认证体系处于最高安全等级。(2)稳定。只有统一身份认证体系足够稳定,才能保证所有参与集中的业务系统能够稳定地运行。所以,要尽可能地提高统一身份认证体系的稳定性、高可用性。一般情况,高可用的系统都具备数据热备、双机热备等功能。(3)开放。统一身份认证体系的用户、权限资源来自于參与集中的不同时期的业务系统。那么,统一身份认证系统应当能为所有参与集中的不同时期的业务系统提供服务,也就是说它要适应不同的操作系统、程序语言。所以,一定要确保统一身份认证系统具有很强的开放性,能适应不同的接入环境。
2 用户和权限资源的统一管理方式
在统一身份认证系统中,实现用户、权限的统一标识、管理、认证,需要搭建目录服务器。同时,还应结合可部署轻量级的目录访问协议(Lightweight Directory Access Protocol,LDAP)基础软件。这种基础软件可以实现业务系统中用户、权限储存的层次结构化、面向对象化。
通常所有业务系统的用户、权限信息都是由目录服务器提供的统一维护服务。这样可为业务系统提供Web Service接口、LDAP接口、数据库接口3种接入方式。最重要的是Web Service接口、LDAP接口能使业务系统直接获得目录服务器的反馈信息,并实现业务系统之间的相互通信[2]。
3 基于分布式SOA架构应用系统集中方法
若要实现数据的集中,则必须实现业务系统接种。业务系统的集中不单是指物理服务器集中,而且还包括系统数据流的集中。所以,在构建统一身份认证系统时,一定要深入研究如何进行数据流的集中,真正实现统一认证、统一管理。
SOA架构的松耦合是指具有中立的接口定义。其优点在于灵活性高、可靠性高。基于这种理念,在实现业务系统的集中时可不对已有的业务系统进行改造、整合,而采用SOA网络规范统一的网络接口。这样只要业务系统能够支持规范接口即可。此时,目录服务器所提供的以LDAP为基础的服务在SOA网络中,就会被抽象为身份认证服务。当业务系统使用这项服务时,就可通过调用SOA网络服务接口来完成。显然,这种调用方式比较简单、直接[3]。
4 基于分布式SOA架构的统一身份认证体系实现
4.1 基础模块
完整的基于分布式SOA架构的统一身份认证体系应当包括统一身份认证系统、网络环境、硬件设备、集群环境等。统一身份系统起码要有认证模块、授权模块、查询模块、系统服务模块。其他模块可以结合实际情况,灵活添加。
认证模块的核心部分是LDAP服务器、用户身份和权限的数据库。在实际应用中,业务系统提交核查用户信息时,首先,会调动LDAP接口、Web Service接口。其次,认证模块就会进行检索,并再次通过数据接口使用户信息进入到数据库中,进行查询。最后,返回的用户权限信息会被再反馈给业务系统,从中能够发现认证模块的主要作用就是结合用户信息,进行目录模型检索,并实现数据库信息的查询。
授权模块的主要作用就是进行用户权限的分配,如初始化权限产生新用户。可以说,授权模块是分配业务系统权力的核心。所以,一定要加强授权模块的管理,避免出现授权被篡改的问题,影响到整个系统的安全。另外,在授权模块中,业务系统角色可分为超级管理员、监督管理员、应用系统权限管理员。不同业务系统角色的权限、作用都不相同。
查询模块的主要作用就是进行特定用户的查找、用户权限的变更及所有同权限用户的汇总。系统服务模块主要是为超级管理员服务的,如提供统一身份认证服务、业务系统相互连接配置服务、系统日志管理和维护服务、系统备份服务等。
另外,考虑到业务系统不同角色的使用权限不同,且大部分用户基本都是使用内部网络。所以,在遇到需要外联本网络外的服务器时,还要设置防火墙和代理服务器。这样做能提高该系统的安全,避免系统受到非法攻击。
4.2 部署架构
基于分布式SOA架构的统一身份认证体系部署架构应当包括3大部分:Web服务器集群、应用服务器集群和数据库服务器集群。数据库服务器集群与应用服务器集群之间选择NFS访问方式。同时数据库服务集群与磁盘库、磁盘阵列之间的信息交换应当通过SAN交换机,用户的终端设备在接入内网前,需要先受到严格的监管。而应用服务器集群与用户之间应设置防火墙、路由器和交换机通过链路冗余保证线路的可靠性。
在体系架构中可用浏览器/服务器模式结构(Browser/Server,B/S),即将系统功能集中到服务器之上。用户只需通过浏览器就可进行访问服务器。同样,该业务系统的访问也都是通过网络服务器提供的网络访问服务实现的。另外,在该体系中,在防火墙后端建立了一组Web服务器集群的主要目的就是为业务系统、统一身份认证系统提供负载均衡,从而减少因单点故障而导致的访问中断问题。就目前来说,Web服务器商业软件逐渐增多,设计者可结合该体系的实际情况灵活选择。但一定要遵循以下原则:(1)尽量选择迁移容易,且具有较强跨平台能力的Web服务器商业软件。毕竟,随着服务器的不断更新,未来Web服务器可能需要迁移,甚至还可能需要进行跨平台迁移。(2)重点考虑Web服务器商业软件与应用服务器之间的兼容性。因为当发生故障时,其较强的兼容性能保证Web服务器获得足够的技术支持。所以,可尝试选择统一厂商的软硬件。比如若是选择IHS作为Web服务器软件,那么可选择以IBM为核心的应用服务器。这样更具有兼容优势,从而尽可能地提高系统的安全性。 应用服务器与Web服务器软件都是基于分布式SOA架构的统一身份认证体系的重要组成部分。从实际来看,应用服务器不仅可进行业务系统的部署,而且还可进行统一身份认证系统的部署。对于后者,可将其归属为一种为内网提供服务的业务系统。另外,在该体系的部署中,服务器之间是通过以太网连接的,且形成了集群。结合SOA架构来说,应用服务器集群集中了所有松耦合的业务系统,而且为了保证系统的高可用性,还采用了主从、双机双工等方式。除此之外,应用服务器集群与防火墙、Web服务器集群之间也采用了链路冗余。这样做能有效加强业务系统、统一身份认证系统的联系[4]。
数据库服务器集群主要就是提供数据存储服务。在体系架构中,应用服务器集群在数据库服务器集群的前端,且采用了NFS方式进行访问。另外,整个体系采用SAN,即存储区域网络。这种存储方式主要是利用专用高速网将网络存储设备与服务器连接起来。其主要优点是能解决存储设备输入、输出速率与系统运行速度不匹配的问题。在该体系中,不经常访问的数据被存储在了磁带库中,将需要经常访问,且需快速访问的数据存储在磁盘阵列中。且数据存储设备与服务器之间的连接是靠光纤实现的。同时,还借助了光纤交换机提供的链路冗余,建立了一个安全、可靠的光纤通道。这样能有效提高数据的安全性。需要注意的是,在该体系中,统一身份认证系统内部不仅采用了这种数据存储方式,而且还与其他业务系统公用这种数据存储方式。
5 结语
构建基于分布式SOA架构的统一身份认证体系既需要充分了解SOA架构特点,也需要明确其体系架构目标、原则。同时,还需明确相关资源的管理方式及应用系统集中的方法。这样才能进行系统模块的部署。从当前发展形势来看,该体系具有非常广阔的应用前景。所以,进一步加大基于分布式SOA架构的统一身份认证体系的研究力度是具有现实意义的。
[参考文献]
[1]李艳,庄海燕,张哲宁.面向SOA架构分布式系统的会话交互建模及其安全验证[J].山东理工大学学报(自然科学版),2017(3):20-24.
[2]郭正敏.基于SOA架构的分布式服务化治理方案的研究[D].南京:南京邮电大学,2016.
[3]潜昕,罗沙白,卢康权.构建基于分布式SOA架构的统一身份认证体系[J].软件,2013(1):17-19.
[4]卢宇,吳进营,乐仁昌,等.基于SOA架构的分布式异构数据同步通信控制策略分析[J].计算机应用,2012(5):1421-1424.
转载注明来源:https://www.xzbu.com/8/view-14905809.htm