随着信息技术的发展和信息化建设的进步,业务应用、办公系统、商务平台不断推出和投入运行,导致系统之间独立分散,随着用户名/密码的增多,企业缺乏统一的账号安全管理策略,而IDM统一身份管理平台正适用于加强企业账户管理、支撑企业业务运营、简化企业内部运维,实现统一用户管理、统一账户认证。

数通畅联IDM统一身份管理平台主要定位于解决企业在5A功能上的需求,即:Account账号管理、Authentication认证管理、Authorization授权管理、Audit审计管理、App Control应用管控5个方面的实际需求。组织和账户的同步、分发属于5A中的统一账户,通过统一账户统一各个业务系统的账户信息,保证企业的用户信息统一,本文将结合项目中的实际应用,在此与大家共同分享IDM同步分发典型方案。

 1整体架构

数通畅联IDM身份管理平台的设计理念在于加强企业账户管理、支撑企业业务运营、简化企业内部运维,实现统一认证、授权、审计管理,提高企业身份认证及访问安全,建立授权流程审批机制,使用户身份信息、授权信息、审批信息等操作更加规范化、标准化,从而提高整体IT架构的风险防范能力。

1.1系统架构

IDM主要是实现统一认证、授权、审计管理,提高企业身份认证及访问安全,建立授权流程审批机制,使用户身份信息、授权信息、审批信息等操作更加规范化、标准化,提高整体IT架构的风险防范能力。

IDM同步分发典型方案说明_同步

消除企业系统间的信息孤岛,为各系统提供统一身份认证、用户身份管理服务,逐步实现系统身份系统的整合,构建面向用户的认证和授权服务,使业务操作更流畅。为简化IT运维提供强大的技术手段和标准,实现账户数据自动化同步操作,同时制定合规的安全服务规范,构建统一的、支撑企业级的认证授权安全服务基础设施。

1.2功能架构

IDM主要对组织、角色、人员进行管理,并对其所有状态进行记录,如:初始化、审批中、已启用、已禁用等,账户统一管理可以实现从HR系统中获取组织用户数据,也可直接在IDM系统中录入数据,用户信息中的部分属性信息根据同步策略由HR系统或其它指定系统同步更新到用户目录,其它用户信息可在应用系统中各自进行维护,通过IDM统一用户信息后,发送到各个业务系统。

IDM同步分发典型方案说明_分发_02

1.3数据架构

下图为IDM身份管理平台数据库表分类图,一共分为9个:系统相关表、应用相关表、基础管理相关表、系统权限相关表、流程相关表、日志相关表、预警相关表、统计分析相关表。

本次介绍的同步分发涉及到的下图红框中的三类表,分别有基础相关表10张、任务操作表2张和日志表4张。

IDM同步分发典型方案说明_IDM_03

下面是同步分发相关的数据库关系图:

IDM同步分发典型方案说明_同步_04

1.序号1为组织临时表:HR同步组织临时表在同步到序号4为组织表。

2.序号2为岗位临时表:HR同步岗位临时表在同步到序号6为岗位表。

3.序号3为人员临时表:HR同步人员临时表在同步到序号7为人员表。

4.序号4为组织表。

5.序号5岗位与组织关联表:是6为岗位表与序号4为组织表关联。

6.序号6为岗位表。

7.序号7为人员表。

8.序号8为人员与组织表:是序号7人员表与序号4为组织表关联。

9.序号9为人员与实际岗位表:是序号7人员表与序号5岗位与组织关联表关联。

10.序号10操作表:是序号4、5、6、7、8、9生成的操作。

11.序号11是工作任务表:是序号10操作表生成的任务。

2同步场景

同步场景是以IDM为统一管理用户中心,进行用户信息数据管理,帮助企业统一控制账户信息,实现账户/密码的一致性、完整性,以下是同步应用场景和通过场景我们IDM给出的标准方案。

2.1场景说明

同步场景:

1.HR源头接口同步:

企业一般用户是以人力部门为标准,一般以HR为源头,通过IDM接收接口同步到IDM中,再进行统一管理。

2.手工录入:

IDM手工录入场景一般是运维成员录入,一般来说项目组成员、客户运维人员肯定需要拥有账户,而这些账户可能HR没有管理,因此他们源头在IDM中进行维护。

3.Excel导入:

Excel导入用于系统初始化,当项目最开始需要导入一些数据,同步分发集成流程没有完成前,如果手工录入效率太低,可以使用Excel导入进行数据初始化。

2.2同步方案 

通过上述几个场景,HR同步、手工录入、Excel导入完成基础数据(组织、人员、岗位)的同步,IDM成为统一用户中心会统一管理账户信息,而这些场景的具体步骤是什么呢?下面将介绍以上场景同步的实际解决方案。

2.2.1HR同步

IDM同步分发典型方案说明_IDM_05

从HR调用IDM接口进行数据的同步,将数据同步到IDM中,首先将数据同步到临时表中,然后在同步到正式表时,会根据批次将生成的taskId存到redis的缓存中,用于分发使用。

2.2.2手工录入

除了通过HR同步,还有手工录入的方式,下面要介绍的就是对系统管理角色进行维护。

下图所示就是通过IDM管理员对不同的系统角色和ID分级管理员进行维护更新。IDM平台可以对用户信息初始化新增、审批、启用和禁用。

IDM同步分发典型方案说明_IDM_06

2.2.3Excel导入

如果数据量很大,手工录入会消耗很多时间,这时可以使用Excel导入数据,一般是在系统初始化时使用。

IDM同步分发典型方案说明_同步_07

2.3注意事项 

1.同步时,场景要划分清楚,要管理好场景界限,Excel导入是运维项目人员在数据初始化时进行录入,手工录入更新操作则是对系统人员进行维护更新。

2.IDM要通过权限分隔,不同组织分级管理员只能维护自己组织下的账户信息,不能越权操作。

3分发场景

分发是通过上述描述的同步场景导入到IDM中后,进行组织、人员、岗位的分发,使各个业务系统的用户信息保持一致,从而实现集中化管理和单点登录效果,以下是对分发的场景说明和分发方案的介绍。

3.1场景说明

分发场景分为推送模式和推+拉模式两种:

第一种模式为“推”,其实就是通过ESB模拟的“推拉”模式:IDM调用ESB,ESB适配业务系统入参进行推送数据。

第二种模式为“推+拉”:IDM把任务ID即(taskId)推送给业务系统,业务系统调用IDM接口拉取数据,出参包含数据基础信息,以及数据变更过程信息(操作前,操作后)。

3.2分发方案

当IDM数据与源头保持一致后就要进行同步分发,同步方案通过上述所示有两种方式实现,一种是直接推送的方式,另一种是推拉的方式。下面介绍以上场景的分发方法解决方案。

3.2.1推送方案

推送方案一般是对旧的系统参与的方式,因为旧的系统已经上了很多年,无法进行开发接口的扩展,接口入参格式与IDM标准出参不符,无法正常对接,就要使用我们的ESB进行格式的转换,转换成适用于业务系统格式的数据后再推送给业务系统。 

IDM同步分发典型方案说明_同步_08

3.2.2推拉方案

IDM同步分发典型方案说明_idm同步分发_09

定时调用设置定时时间为处理数据最慢系统的超时时间,然后获取redis缓存中的数据,将获取的taskId分发给业务系统,同时调用ESB流程,对缓存中的已分发taskId进行移除,当最慢系统处理完毕之后,再重新获取缓存中的新的taskId进行推送。

IDM同步分发典型方案说明_分发_10

定时调用设置定时时间为合理时间,然后获取redis缓存中的数据,将获取的taskId分发给业务系统,同时调用ESB流程,对缓存中的已分发taskId进行移除,当定时时间到了之后,再重新获取缓存中的新的taskId进行推送,此时业务系统本身要进行队列处理,保证数据不会堵塞。

3.3注意事项

在分发时,数据源经常会有错误数据和冗余数据,这些数据往往存在于问题没有暴露之前,数据源不会将问题讲出来,而是等到问题爆发,经常会出现三方扯皮的现象,影响到项目的推进和IDM的正常上线,因此在分发之前要将数据校对清洗一遍,要保证已有的数据库数据具有准确性。 

4分析总结 

对于IDM同步分发对接业务系统,除了需要我们在项目中有效沟通,还需要保证产品的完整性,作者目前就在完善我们的产品,只有将产品做成精品,做项目才能事半功倍。通过上述讲解的同步方案作者也总结了一些心得与大家分享。 

4.1沟通交流

做项目时要经常沟通,只有与客户沟通才能了解业务,才能对如何进行系统对接做好充分准备,这样做项目才不会跑偏,才能高效地进行下去。而且沟通了解业务对开发产品也有帮助,精品的诞生不是一蹴而就的,它需要在项目中不断成长,所以沟通了解实际业务对产品完善有着至关重要的帮助。

4.2积极面对

面对用户的反馈不要消极,而是要积极应对,让客户安心,增加客户的信心,客户对平台的信心需要逐步累积、建立。对客户反馈的问题需要高度重视,不要拖沓,把握好问题解决的时机,有效建立客户对平台的信任度及认可度。如果平台出现问题,团队成员却不积极响应,会造成客户对平台的信任度不断降低,当客户的不信任认知形成固式后,我们则需要花费更多精力、心力才能扭转这种认知。

4.3不断提升

事物的发展规律需要经过不断的积累,才能有厚积而薄发的结果,所以平时工作中涉及到的这方面知识一定要记录下来,这些都是为自己的一种积累。平时的业余时间多看一看相关的文章,也会积累一些知识,这样日积月累,就会形成自己的知识体系,自身的能力就会从高度、深度、强度等多角度得到明显提升,做起事情来会感觉轻松许多,不会轻易感到疲倦。

数通畅联的集成产品套件都是从项目中来、到项目中去的,需要研发和现场团队人员的密切配合、不断迭代完善打造精品,过程中技术人员能力的形成和提升不仅需要掌握正确的学习方法,更重要的是能够坚持下去,能够经得起时间的打磨,知道再多的方法不去坚持也不可能进步,人天生有惰性,被惰性驱使的人很容易半途而废、一事无成。