lxue
作者lxue·2020-03-09 17:24
数据库管理员·某互联网公司

证券公司信息系统用户权限集中管理的研究与实践

字数 5922阅读 9253评论 0赞 0

摘要:证券公司信息系统数量众多缺乏统一管理,人员岗位调整或离职后信息系统用户权限不能及时更新,不仅影响业务开展,更成为系统安全隐患。本文对证券公司信息系统用户权限管理的现状进行了调研分析,提出了一种与证券公司现有的人力资源管理系统和办公流程管理系统整合的信息系统用户权限集中管理解决方案,并结合实际案例说明如何通过开放API、适配器和RPA等多种技术实现与现有信息系统的对接。
关键字:用户权限,集中管理,RPA

一、 概述

经过数十年的发展,信息技术已经成为证券行业发展的重要技术之一。每个证券公司内部都建立起了大量的信息化系统,涵盖了绝大多数的业务领域,如自动化办公、人力资源、财务管理、客户交易、风险控制、法人清算等等,为公司业务的开展提供了重要的保障。但是我们注意到在这种新形势下,信息系统的权限管理出现了新的问题。
首先,由于大量异构的信息系统缺少统一有效地管理,在面对公司人员岗位变动或入离职等情况时,往往无法及时对系统内部账户权限进行及时地更新,一方面影响了业务快速开展,同时也为系统的运行埋下了安全隐患。
其次,随着证券行业监管力度不断地加强,对信息系统的权限管理提出了明确的要求。要求证券公司的风险管理部,对公司内部信息系统权限进行严格的内控管理。但是由于各信息系统权限分散管理,内控人员往往无法快速地厘清不同部门、职级、岗位的人员在各信息系统中所拥有的权限,难以及时响应监管的各种具体要求。
针对上述问题,人们首先提出了统一用户认证的方案,即通过对身份统一认证来控制用户访问信息系统的权限。但是我们在实际应用中发现,大量的信息系统权限不只限于系统访问权限,还包括了大量的角色、功能、数据操作等权限控制,仅仅依赖统一用户认证来管理权限是远远不够的。另外,统一用户认证系统的使用,需要对接的信息系统进行相应的改造,包括账户数据同步、认证功能对接等等。对于大量依赖外购信息系统的证券公司而言,这些工作不仅涉及大量的协调工作以及资金成本,也会对现有系统稳定运行带来一定的影响。
因此,在本文中我们提出了建设一套权限集中管理系统,作为一种替代方案,以解决目前权限管理的问题。

二、 总体思路

通过实践摸索,我们认为建设权限集中管理系统,并充分发挥其管理作用,必须从以下几个方面着手。
1)权限集中归集
通过源头对权限数据进行归集,降低权限归集的复杂度。传统的权限数据归集一般是通过与信息系统直接同步实现。这种方法需要权限管理系统与各信息系统建立了大量的耦合关系,给归集工作带来了较大的难度。
随着今年来各证券公司IT管理能力的提高,权限申请和分配逐渐实现了电子化和流程化,也为权限数据从源头归集打下了基础。
2)权限集中管理
通过开放灵活的数据模型设计,实现对不同类型、不同来源权限数据的统一管理。公司员工在所有信息系统中的账户和权限尽可能的集中存储。任何权限的变更都可以通过权限集中管理系统进行管理或者被其所感知。
3)权限统一下发
在对权限数据进行集中存储的基础上,利用技术手段实现权限统一、自动化的下发。确保信息系统能够及时获取到权限集中管理系统中的各种权限变更。这种方式与传统的基于人工手动配置的方式很大的不同,降低了人工操作风险,也避免了跨系统、跨部门的大量协调工作,提升了管理效率。

三、 系统架构

根据实际情况,我们规划的权限集中管理系统总体架构图如下所示:

图 1 权限集中管理系统结构图

整个权限集中管理系统可以分为七个组成部分:
(1) 数据管理:对各个信息系统的权限数据进行规范化存储管理。在权限集中管理系统中,管理的数据包括权限数据、辅助数据、权限变更的操作记录数据等。
(2) 权限同步接口:权限集中管理系统对外发布了一组权限数据的同步接口,用以接收来自于OA、HR系统的权限数据。在OA系统中,内嵌权限同步模块(Servlet)。当权限申请流程完成审批后,审批结果(包括员工信息、所属信息系统、所申请权限等)将通过该模块调用权限同步接口写入到系统中。对于HR系统,单独建立了数据采集程序,定时调用HR系统接口,获取最新的人事信息(包括员工信息、组织架构、岗位信息等),并将这些信息通过权限同步接口写入到权限集中管理系统中。
(3) 权限下发管理:当用户的权限发生变化时,该模块将触发权限下发任务,通过调用不同信息系统所对应的适配器,将最新的权限信息写入到指定的信息系统中。不同的信息系统,根据自身的技术状态,将配置不同的适配器。
(4) 权限状态监控:通过多种技术手段,对各个信息系统中员工的最新权限状态进行监控,确保与权限集中管理系统中记录的权限数据保持一致。
(5) 权限配置管理:为系统管理员提供手工配置权限的功能。
(6) 权限分析:基于集中管理的员工账户权限,进行权限状态分析监控。包括权限操作的跟踪记录、账户权限查询等功能。
(7) 用户访问:提供权限查询配置的用户图形接口。

四、 相关技术研究

下面我们将对权限集中管理系统中涉及到的相关技术进行介绍。

(一) 权限数据分析

1、 权限数据分类
从用途角度来划分,权限数据又可以分为权限数据、辅助数据和日志数据。
权限数据用于表示指定账户在特定系统中所享有的权限。通常与具体的信息系统中的权限数据一一对应。一般的信息系统通常基于经典的RBAC模型构建账户和权限功能。在这个模型下,权限的数据被分为了用户、角色、权限三个维度,基本上满足了独立信息系统绝大多数应用场景的需求。但是,从满足证券公司所有信息系统权限管理角度出发,我们建议将权限数据进一步扩展为“应用、组织、用户、角色、权限、资源、操作”七个维度。
辅助数据包括员工信息、公司组织架构信息、岗位(包括主岗和兼岗)信息、权限配置规则等等。其主要作用是辅助权限数据的管理。
日志数据记录了权限的变更情况,包括对权限的创建、变更、删除、分配等。这些信息将为公司内控管理提供有力的支持。
下表为权限数据分类情况说明。

表 1 权限管理数据分类

2、 权限数据的来源
权限数据根据产生的方式,大致可以归为两类:(1)根据员工人事信息自动生成的权限;(2)根据业务需要动态申请的权限。
对于第一种来源的权限,主要是根据员工的人事信息,如岗位、组织部门等信息,根据预先制定好的权限分配规则,直接为员工分配的权限。这类权限常见的有:OA系统使用和各种流程审批权限、邮箱使用权限、办公网络接入权限等等。由于人事信息在证券公司通常存储于HR系统,因此,一旦人事信息与权限分配的对应关系确定后,HR系统将是自动分配权限数据的主要来源。
对于第二类动态申请的权限,通常并不是事先约定好的,而是需要当事员工或者部门根据实际情况,依据相应制度规范,向特定信息系统的管理部门进行申请获得。例如,公司员工为办理某项业务时,向相关部门临时申请信息系统的使用权限。通常情况下,权限申请流程一般都在证券公司的OA系统中进行,因此OA的权限申请流程的处理结果就成为动态申请的权限的主要来源。
3、 权限数据范围和粒度
我们注意到,由于各信息系统涉及的业务不同,差别是非常大的。例如,诸如堡垒机、防火墙等基础平台类系统,通常对角色的定时比较简单;但如集中交易账户系统、O32系统等,对角色以及角色所拥有权限的却有着非常精细的划分。而且大多数下信息系统的权限只需要管到功能即可,而诸如CRM等类型的系统,却又要求对数据记录的进行严格的权限控制。
在实践中,建议在建立权限集中管理系统初期,对权限管理的粒度可以细化到用户、角色(岗位)一级,而对于角色下的具体功能甚至是数据权限的管理可暂时忽略。这样设计尽可能地避免了各系统因为业务的不同,导致权限管理难度的增加。经过实践证明,这种方式也满足了证券公司权限管理大多数场景的需求。
另外,除了针对权限数据进行管理以外,权限集中管理系统还需要记录详实的权限变更操作记录。这些留痕信息可以直接为公司信息技术审计工作提供支持。

(二) 权限归集

根据前节分析,权限数据来源主要由两个部分组成:HR系统和OA系统。
1、HR系统
从HR系统主要是采集根据人事信息,并根据预先设定好的规则,在权限集中管理系统中自动生成权限。
一般证券公司的HR系统都以外购为主,通常都提供数据查询接口,通过这些接口,权限集中管理系统能够及时捕获到员工人事信息的变化情况,并根据预先设定在权限集中管理系统中的权限分配规则,及时更新权限信息。
对于部分数据查询不完善的HR系统,可以通过部分开放后台数据库表或视图的方式,由权限集中管理系统主动查询获取人事数据。
2、OA系统
通常在公司OA系统中,已经权限管理制度设立相应的权限申请审批流程。任何信息系统的权限创立、变更、废止,都是通过相关岗位、业务部门、以及风控部门进行审批。因此,可以通过捕获OA系统权限申请审批流程的处理结果,从而获取权限数据。
以蓝凌的EKP平台为例,该系统的流程引擎提供“机器人”处理节点,在权限申请审批流程结束时,可以配置相应的“机器人”处理节点,通过该节点调用Java程序片段手动获取审批流程表单中的权限数据,并利用权限集中管理系统的接口,将权限变更数据写入到权限集中管理系统中。如下图所示:

图 2 蓝凌EKP平台流程模板编辑

表 2 流程机器人节点Java处理代码

(三) 权限下发

权限在归集到权限集中管理系统后,需要及时地下发到指定的信息系统中。通常的实现方案一般包含信息系统主动拉取和权限管理系统推送两种方式。
(1)拉取:主要是在信息系统端增加访问权限集中管理系统的模块,定时从权限集中管理系统中获取最新的权限数据,并更新自身系统的相应权限。这种方式适合正处于规划中或者正在建设的信息系统,要求系统进行部分改造以实现与权限集中管理系统对接。对于已经建成的系统,由于需要协调系统供应商原有的开发团队资源,往往实际操作困难较大;
(2)推送:则是指权限集中管理系统调用各信息系统的接口,定时或实时地将最新的权限变更数据发送到信息系统中。这种方式要求权限集中管理系统针对不同的信息系统都有不同的权限数据推送模块。随着接入的信息系统数量不断增加,会导致权限集中管理系统的复杂度大大地增加。
在实现拉取或推送时,为避免频繁接口调用带来的性能问题,同时降低系统与系统之间的耦合性,我们进一步引入了消息中间件(如Kafka、RabbitMQ等),利用发布/订阅的模式来发布权限数据。这种方法混合了上述两种方式,如下图所示:

图 3 发布/订阅模式发布数据

无论是拉取还是推送方式,都会对原有的系统造成较大的改动,带来较大的成本开销,同时也对各系统的稳定性造成影响。随着近年机器人流程自动化技术不断成熟,为上述的问题的解决提供了一个方案。

(四) RPA技术的应用

无论是拉取还是推送方式,都会对原有的系统造成一定的改动,也会带来一定成本开销。随着近年机器人流程自动化技术不断发展,该技术通过模拟人工的方式对信息系统操作,为我们解决上述问题提供了一个新的思路。因此我们也在这方面进行了一些探索。
所谓机器人流程自动化技术(Robotic Process Automation,RPA),是利用驻存在电脑中的流程自动化管理软件,遵循事先拟定好的脚本流程逻辑,对于电脑中的多种业务软件进行自动操作,从而实现办公自动化的系统。
目前国外主流的RPA平台有:UiPath、Automation Anywhere、Blueprism等。国内的有阿里云RPA、UiBot、金智维等。我们在权限集中管理系统中采用了UiBot平台,实现了各信息系统的对接。详细的技术架构如下所示:

图 4 RPA实现权限下发

如图所示,权限集中管理系统实时地将各个信息系统变更的权限数据发布到消息中间件。RPA机器人通过订阅的方式,从消息中间件获取各个信息系统最新的权限变更情况,然后利用信息系统的管理员账号,模拟登录进入信息系统,并完成新变更权限的配置工作。
这里以投行项目管理系统为例,简要说明如何利用RPA实现新增权限配置的流程。流程主要分为两步:(1)从权限集中管理系统中获取关于投行项目管理系统的最新权限变更申请。(2)使用管理员账号模拟登录投行项目管理系统,并配置相应账号的权限。下图为UiBot开发环境的设计截图:

图 5 UiBot流程图

两步流程在UiBot中的执行脚本如图 6、图 7所示:

图 6 从权限集中管理系统获取所有权限

图 7 模拟操作员账户配置用户权限

根据设计完成的脚本,UiBot Worker将会在UiBot Commander的调度下模拟系统管理员的操作,实现在投行项目管理系统中权限的配置更新。这种方式避免了对旧有信息系统侵入式改造,也避免了因为改造而引起的各种系统风险,从而达到节省人力、降低开发成本的目的。
不过在实际应用中,我们也发现RPA并不能适应所有的技术环境,例如现有版本的UiBot不支持基于Flex实现的应用系统。因此,是否采用RPA技术需要根据实际情况来判断。

五、 总结

本文介绍了一种权限集中管理系统的建设方案,用于解决目前证券公司信息系统权限管理的问题。通过对这个方案的实施,验证了该技术可行性。这也为其他证券公司加强信息系统权限管理,提升自身内控能力提供了一种新的思路。下一步,我们还将围绕现有的研究成果,通过实践不断的完善现有的权限管理系统功能,并结合业务需求进一步展开深入的研究。

六、 参考文献

[1] 统一信息系统业务权限管理方案,创新与发展:中国证券业年论文集,2012
[2] Ferraiolo D, Kuhn R.Role based access control[C], Proceedings of 15th NIST-NCSC National Computer Security Conference, 1992: 554-563.
[3] 《证券公司全面风险管理规范》,中国证券业协会,2016年12月30日
[4] 《证券公司内部控制指引》,证监会,2001年1月31日
[5] 林伟炬, 刘列根, 张宇,一个通用的权限管理模型的设计方案[J],微计算机信息,2009,25(15):1-3.
[6] https://www.uibot.com.cn[OL] , UiBot官网

作者:
刘国杨 王海航 / 民生证券股份有限公司
E-mail:liuguoyang@mszq.com

本文转自微信公众号:上交所技术服务

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广