案例 | “三集中”背景下大数据平台“统一门户”的探索与实践
中国人民银行常州市中心支行 郭卿
为落实总行“三集中”要求,人民银行南京分行(以下简称“南京分行”)积极推动大数据平台“统一门户”建设。“统一门户”作为大数据平台实现“统一用户、统一授权、统一接入”建设目标的核心基础设施之一,位于平台各信息系统的最前端,是各级用户访问人行业务系统的关键节点,必须具有较广泛的系统适用能力、较强的系统管理能力和高效的平台运行能力。为此,南京分行积极探索,逐渐摸索出一套较为有效的实现方案,为大数据平台的建设奠定了良好的基础。
现有网间互联平台的不足
在“统一门户”之前,南京分行建设了以Nginx为主体的“网间互联平台”,实现了省内各中支对金融机构的网络上收,将金融机构访问人行信息系统的入口进行集中管理。然而,在“三集中”背景下,地市信息系统大量向省级数据中心集中、整合。
一是架构繁冗、规模庞大。“1+13”的Nginx部署架构主要针对原来信息系统分别部署于各地中支的情形设计,利于各级管理员各司其职,有效划分管理边界。然而,在“三集中”背景下,地市系统持续向省级数据中心集中和整合,“1+13”的Nginx集群显得臃肿低效。同时,繁冗的网络架构在系统调试、故障排查时带来的障碍也越发突出。
二是管理能力薄弱。网间互联平台的核心功能是用户请求的代理转发,不具备对接入平台的系统、用户及访问权限的管理能力:系统的接入和退出随意性大、难以可靠记录和追溯;用户和访问权限的管理完全由后端应用系统自行处理,控制逻辑不统一、安全水平参差不齐、重复建设导致浪费严重,无法真正扮演好“统一门户”的关键性角色。
三是静态配置管理模式效率低下。无论是html书写的用户访问页面,还是基于conf文件的Nginx转发规则,都需要应用系统的开发、部署方,将相应的需求提交给平台运维人员,由运维人员手工编辑对应文件并加载生效,处置流程长、响应速度慢且容易出错,难以应对系统高度集中后的省级数据中心门户运维需求。
建设“统一门户”系统,
构建通用接入平台
针对上述问题,南京分行开发建设了“南京分行大数据平台统一门户系统”(以下简称“统一门户”),通过优化网络架构、强化管理功能等手段,实现了大数据应用平台的“统一用户管理”“统一授权管理”和“统一接入管理”等三大“统一”目标,全面打通人行内外用户访问网络通道,为后续系统的进一步整合打下了坚实的基础。
1.基于Nginx和Gateway的基础架构优化。统一门户采用基于Nginx和Gateway的网络架构,兼顾基于传统架构设计的遗留系统和采用微服务、分布式等新型架构的新建系统:
一方面,统一门户用单Nginx取代了原网间互联平台“每个地市部署Nginx”的冗余结构,并通过“基于subs_filter内容替换改写请求路径”“基于refer的网络请求重定向”和“基于多虚拟主机的反向代理”等多种技术手段,成功破解了“遗留系统同名请求转发”的难题,将各地市原本由于都使用了同款第三方商业软件、无法修改商业软件请求链接书写格式,导致难以实现“统一接入”的一批遗留系统,成功纳入统一门户的管理。同时,该解决方案同样适用于大量由于建设较早、已经难以大规模修改系统代码的其他遗留系统,大幅拓展了统一门户架构的适用范围。
另一方面,统一门户还引入了Gateway作为API网关,在请求路由这一核心功能之外,提供了对权限认证等非业务逻辑的支持,有效弥补了Nginx平台在功能上的不足,为统一门户在“统一用户”“统一权限”等安全和管理功能上的全面加强奠定了基础。
2.统一用户权限,强化安全管理。首先,统一门户设置了用户管理和权限管理两大核心功能模块,将原来分散在数十甚至数百个业务系统中的相关管理模块进行了整合,实现了运维人员对大量业务系统用户和权限信息的集中式管理。
用户管理模块分人民银行和商业银行两大条线对人员信息进行分类管理,基本上实现了对各类业务系统的用户人群全覆盖。人民银行条线的人员信息与行内人事信息直接关联,并通过数据同步接口与各业务系统进行实时或定期同步,确保各业务系统的人员信息保持最新状态。
权限管理模块采用了基于角色的设计思想。在该设计思想下,统一门户一方面为各系统的用户设置角色,一方面为角色分配权限,通过维护“用户-角色-权限”的三方映射关系实现了对用户可访问的资源进行灵活配置。同时,统一门户还提供了更丰富灵活的权限管理功能:基于xml批量导入和页面手工维护两种权限配置录入途径,在大量系统需要维护权限分配信息的情况下,给运维管理人员提供了更加灵活友好的配置信息录入形式;基于规则表达式的权限解析引擎,允许运维人员以通配符的形式,通过录入少数几条规则完成数十乃至上百项同类资源的权限分配。
其次,统一门户提供了基于token的单点登录和访问控制能力:统一门户对用户进行基于用户口令或其他多因子认证之后向通过认证的用户分发加密token,用户持token向各业务系统或服务模块请求服务,业务系统或服务网关向统一门户验证用户token的有效性以及该用户对目标服务的访问权限,从而决定是否放行。在这种模式下,除了单次有效的token之外,用户浏览器、各业务系统和服务模块均不需要存储用户口令、身份、权限等敏感信息,大幅提升了整个访问控制链路的信息安全防护水平。
最后,统一门户通过API网关对用户请求进行统一的访问控制和路由转发。在此过程中,网关还会对用户的敏感访问行为进行记录,形成统一可追溯的用户行为审计记录,进一步强化了全平台系统的安全保障能力。
3.系统动态接入和网络自动化配置。在门户管理页面上,统一门户设置了系统注册功能,将所有自建系统纳入门户统一管理。各系统上线后,首先在门户系统进行登记,详细记录包括系统名称、地址等关键信息;然后配置用户权限,即指定可访问用户的角色和访问范围;最后各用户才能在登录门户系统后看到该系统,将其添加到自己的系统访问列表中。在网络配置上,统一门户实时地将各注册系统的路由和转发规则写入Nginx配置文件和API网关的路由表中,免去了运维人员人工介入的环节,大幅提高了系统接入的工作效率,同时也有效避免了因误操作带来的全平台服务中断等重大风险。
取得成效
1.精简平台网络架构,提升资源利用效率。统一门户通过对Nginx等网络路由核心组件的深度应用,再配合以强大灵活的上层系统管理能力,从而在保持原有的分级管理模式优势的情况下,极大地精简了整个平台的网络架构,不仅可以大幅降低省级数据中心计算资源的占用量,同时也有效降低了平台网络异常情况的排查难度。
2.信息统一规范,减轻运维压力。统一门户的规划和建设明确了其在“三集中”改革背景下,作为“唯一用户信息来源”和“统一权限管理平台”的地位。在此设计思想指导下,南京分行按照统一门户的技术规范将包括“政银易企通”“统一采集平台”等在内的多个系统进行整合,使这些系统能直接从统一门户中获取用户和权限信息。今后,运维管理人员只需要集中精力维护好统一门户中的用户和权限信息就能完成对所有接入系统的用户权限管理,在大幅提高系统管理规范化程度的同时,显著降低了运维的工作量。
3.整合共性功能,提升开发效率。统一门户由专门团队负责设计、开发和升级迭代,逐步形成了较为完善的用户管理和权限分配机制。接入统一门户的业务系统不再需要单独开发相关的功能模块,通过调用门户提供的接口即可获得完整的用户信息读取、用户身份识别、用户请求鉴权、用户访问控制等一系列安全服务。业务系统的开发团队只需要专注于业务逻辑本身,这大大简化了业务系统的复杂度,提升了开发效率。同时,统一门户的专业性也保证了它的安全性,口令复杂度检查、口令加密传输、加密存储、多因子认证等一系列安全措施都能得到逐步完善,为所有接入统一门户的业务系统提供了一致的较高水平安全防护能力。
4.实现统一入口,助力系统整合。统一门户是南京分行“两大平台”建设架构的总入口,也是分行进行系统整合工作的关键性基础设施。从管理角度来看,统一门户今后作为唯一的系统访问入口,所有入网业务系统都需要在此注册登记,各系统的上线、使用情况在这里一目了然,系统的接入管理和“僵尸系统”的清理都有了有力的抓手和依据。从用户的角度来看,大大小小的业务系统都整合成为了一个单一系统,通过一个地址、一套用户名口令就可以访问所有与本人日常工作有关的业务功能,可以有效提高用户的工作效率。此外,统一门户作为“统一用户、统一授权、统一接入”的基础设施,通过一致性接口和规范化流程,实现了各系统在管理信息和访问控制层面的统一,为后继系统在业务逻辑和业务数据层面的进一步整合奠定了良好的基础。
(栏目编辑:马俊)
往期精选:
(点击查看精彩内容)
● 案例 | 同盾科技赋能头部消金公司,拥抱变革迎接下一个十年
《金融电子化》新媒体部:主任 / 邝源 编辑 / 傅甜甜 潘婧