宫 成 王鸿捷 吴靖寰 傅贺平
中国石油工程建设有限公司西南分公司, 四川 成都 610041
信息技术的发展及互联网的普及,使企业应用系统已呈快速增长态势。应用系统在企业业务生产及管理等方面发挥着越来越重要的作用,并为各种业态下的企业生产经营模式的改变、企业精细化管理的实现提供基础[1],有效地提高了企业的经营管理水平。
工程公司由于业务和管理的需要,应用系统的建设也在不断增长,由于历史原因,不同时期建立的应用系统所采用的技术不同,当时为解决对应用系统的权限及数据安全的管控,每个应用系统分别部署独立登陆账号和密码[2-4]。但由于应用系统数量的不断增长,导致了众多的问题:
1)用户体验差:用户必须记住不同应用系统的用户名和密码,登录每个应用系统使用时不断重复登录操作。
2)运维管理复杂:业务部门需要对各业务系统的多套用户名及密码进行管理,运维工作量巨大,难以管控。
3)安全隐患严重:用户为记住登录名和密码,采用了简单的密码,造成保密级别降低,为业务数据安全带来极大的隐患。
4)信息不一致:各系统之间的账号不统一,形成信息孤岛现象[5]。
这种分散式的认证方式已经成为企业实现信息系统集成化、一体化所必须解决的问题。本文根据工程公司的实际应用情况提出了一种新的统一身份认证建设思路,能够较好地解决以上问题。
统一身份认证平台建设应在工程公司自身的信息化建设总体规划下进行,以遵循“统一规划,分步实施”的策略[6],根据工程公司自身的实际需求,明确项目建设目标。统一身份认证平台规划目标应从两方面考虑:
1)所谓统一身份认证就是用户只需通过一个账号密码,就可访问具有合法权限内的所有资源,是统一身份认证平台实现的最基本目标。
2)从整体信息化架构角度考虑,构建一个完整统一、高效稳定、规范安全的集中式身份管理。
范围决定需求,需求决定架构[7],如果范围不能正确地定义将会导致一系列的不良连锁反应,最终造成系统的严重缺陷。正确、合理的定义范围是保证成功实施的重要工作之一。
笔者认为范围的定义通俗来讲就是为达成目标所必须要做的事情。统一身份认证平台建设范围的确定应以前文提出的规划目标为基础,并根据信息化整体IT架构及应用使用情况进行分析、细化的一个过程。工程公司规划统一身份认证平台建设范围可从三方面考虑:
1)制定身份认证标准,建设一个没有重复、冲突的统一身份认证信息架构[8]。
2)兼容企业整体IT基础架构和运行环境要求,笔者所在工程公司提出了需兼容企业内部的私有云架构模式。
3)满足已存在的各种异构应用系统的接入及改造,实现各应用系统之间身份认证信息的整合。
如何将工程公司不同的业务应用系统进行有效整合,做到统一认证,统一管理[9-11],是实现统一身份认证平台核心关键。
统一身份认证标准的建立,应建立在能够满足工程公司各种异构应用架构的基础上,与应用系统本身的开发语言、平台无关,无论是B/S结构、C/S结构以及移动APP应用(原生、混合、Web)结构。
统一身份认证标准的建立要充分利用SOA(面向服务体系)架构松耦合的特点[12-13],采用国际标准的网络协议和规定的一些标准数据格式,包括登录方式、交互流程、认证协议等。
统一身份认证平台的集中安全管控必须从全局角度考虑:
1)授权管理:对接入到统一身份认证平台的应用进行授权,为应用系统的接入提供安全、高效、可用的安全机制。
2)审计管理:对应用系统的使用情况、用户对应用系统的访问行为进行审计,可为后续发生事故时提供一个可追查的机制[14]。
统一身份认证平台本身并不对用户信息进行管理,这取决于企业本身对信息管理的划分。从工程公司信息化整体管理角度而言,用户信息一般是由公司人力资源管理部门进行管理[15]。该部分内容的确定,对统一身份认证平台的整体架构设计起着重要的作用。
笔者所在工程公司,采用了基于活动目录进行用户身份验证的解决方案。活动目录中的用户及组织机构信息与“人力资源公共数据管理平台”实现无缝集成,不需要对活动目录中的用户信息单独维护。统一身份认证平台中的用户身份认证直接使用活动目录中的用户信息进行验证。
工程公司必然会对已存在的应用系统进行改造,以适应统一身份认证方式。因此,如何实现让已有应用系统与统一身份认证进行无缝集成是需要解决的另一个问题。建议遵循如下原则和方法解决:
1)统一身份认证平台为各应用系统提供身份认证服务,其他业务系统只需根据其规则调用此服务即可。
2)已有应用系统的身份认证一般与权限控制紧密相连,权限控制是用户通过身份认证后,为用户授权其在应用系统中的角色和使用资源。当前在一个比较完整、规范的企业信息化建设体系中,应由一个统一身份认证供各应用系统使用,权限控制由各应用系统自行管理。
3)针对应用系统改造较多的工程公司,可能存在技术复杂(不同平台)、项目干系人众多(各应用系统的开发商、业务部门、技术人员)等问题。因此,可根据应用系统的使用范围、人数、改造难易程度等进行优先级排序,并在项目实施过程中制定合理的统一规划。
4)明确统一身份认证登录账号与已有应用系统用户信息的共同点,可从用户名、员工编号、邮箱名称等信息进行关联。
在已有应用系统的改造过程中,必然会存在无法改造的应用系统,但针对自研及定制开发类型的软件完全可避免。笔者所在工程公司对自研及定制研发类软件在开发过程中就进行管控,包含对成果文件(需求报告、设计报告、数据字典等)、代码进行审查(编写规范、注释、编译、封装等),以避免此问题发生。
统一身份认证平台建设一般有“产品+服务”模式和“定制化开发”模式两种。不管选择哪种开发模式,都需要以正确的、量体裁衣式的解决方案为基础。
根据调研,“产品+服务”模式是当前企业选择较多的一种模式[16-18]。这种模式是软件供应商将产品功能基本固化,再根据个性化需求进行二次开发,这种模式因有一个原型产品的存在,能够快速地满足一个较大应用群体的共性化需求,以及后期的运维服务等。笔者建议,工程公司选择这种商业产品时要注意:前期一定要对产品有充分了解,确切是否能够满足所有需求,包括二次开发是否能够满足工程公司自身的个性需求,因为商业产品在设计架构上基本是固化的,很难改变。
“定制化开发”模式是企业建设目标需要什么,软件开发商就生产什么,是一种由无到有的一种模式。这种开发模式与商业化产品对比,具有较强灵活性及适应性,可更好地实现企业建设目标。但同时也带来了不小的挑战,因此需要以工程公司信息化建设部门为主导,掌控整个平台的架构设计,对整体规划及技术有较高的要求。
统一身份认证平台建设具体选择哪一种模式,不能一概而论,没有最完美的,只有最适合的。表1是针对两种模式的比较,建议工程公司根据自身需求情况并结合表1的分析结果,来选择最适当的建设模式。
表1“产品+服务”与“定制化开发”模式对比分析
建设模式周期成本兼容性运维/响应个性化技术要求产品+服务短较低一般慢一般较低定制化开发长高高快满足高
笔者所在工程公司按照上述提出的建设思路、方法进行了规划实施,统一身份认证平台建设选用了“定制化开发”模式。
统一身份认证平台自建成后,已无故障运行28个月,并有18个应用系统接入到统一身份认证平台,其中包括13个B/S架构应用系统、2个C/S架构应用系统、3个移动APP模式应用系统,用户登录访问总计 869 308次。该平台的建设有效提升了公司信息化整体管理水平及用户自身的工作效率。
本文提出了一种适用于多应用架构模式的统一身份认证建设思路,满足当前所有不同应用架构系统的统一身份认证问题,保证了各业务集成系统的松散耦合。
在工程公司的实际使用也展现了良好的应用效果。用户只需要记住一套用户名/密码就可以访问所有不同平台、不同语言所开发的应用系统,提升了用户体验和IT的运维管理工作。笔者建议,在统一身份认证平台建设过程中,一定采用科学的项目实施方法论为指导,才能较好实现建设目标。