何谓身份
所谓身份,就是指能够代表我们自己这样一个自然人,在某个环境中所记录的一系列属性。比如一个学生的身份,表示你是在某所学校进行学习的一个人。或者公务员的身份,表示你是在某个国家公务机关的工作人员。
那么同样,在企业的IT环境中,我们同样有着很多的身份。而这个身份通常是以一个系统账户作为一个载体的。所以,我们进到一个公司,会获得各种各样的账户,比如登录计算机的账户,登录邮件系统的账户,登录财务系统的账户,登录人事系统的账户,等等。
而这些账户,就是我们在企业IT系统中的一个身份。所以对于企业IT的身份管理,也就等于是对IT系统账户的管理。
身份信息
刚才也说了,身份是一个自然人的标识,但光有这个标识是没有任何意义的。必须要有一系列的属性,来作为身份的信息,才能真正表示一个自然人在某个环境中的各种信息。
还是用开头的那个例子,比如一个学生的身份信息,至少会包括姓名、学校、年级、班级等。而一个公务员的信息,也至少会包括姓名、单位、部门、级别、职务等等。
那么对于IT系统中的身份或者账户,我们同样需要这些信息,比如姓名、账户名、隶属于某组、权限,等等。而这些信息,用IT的语言来说,就是数据。
所以,所谓企业IT的身份管理,最关键的地方,就是记录、维护、和管理企业员工所用到的各种账户信息的数据。
现状
谈到这里,可能有人问,讲这些有何用?这些很重要么?那么我先不回答这些,先来谈谈这几年我自己以及一些朋友,在企业IT工作中所遇到的一些问题。看是不是与大家在工作中碰到的困惑,有所相同。
第一,随着企业IT的不断发展,业务系统越来越多,经常出现一个员工在多个系统中都有一个账号的情况。甚至是在同一个系统中,一个员工都有多个账号存在。一方面员工自己维护各个系统中的账号信息比较麻烦,另一方面,IT管理员在账户上的管理工作量也是成倍增加。
第二,由于建设时间的先后问题,以及各种系统之间的兼容问题,会出现一个员工在A系统中的账户与在B系统中的不一样。这样的情况对员工和IT管理员抖增加了更多的麻烦和工作。
第三,对于企业而言,很多业务系统都是相互独立,那么账户信息也是独立的。这样就导致了对于账号的管理,没有实现统一的标准、自动化的处理、和标准流程化。更多的时候,是等到需要申请某个账户时,由用户自己或者是HR部门最先发起,然后通过邮件或其他方式通知到各个IT系统的管理员,比如AD、邮件、OA、ERP等等,然后由IT管理员通过手动的方式进行账户的新建。过程麻烦,耗时也不少。如果碰到信息需要变更也是如此,稍有遗漏,就造成多个系统中的账户信息出现不一致的情况了。
第四,用户重名的现象,几乎任何企业都会出现,那么如何确保IT账户的唯一性,成了一个老大难问题。不仅是在同一个系统中,进行有效的命名规则,还要考虑如何使各个系统中的账户信息,保持一致。
第五,如果上面的两点结合结合起来,将更为可怕。。打个比方,这时就很可能会出现一个叫张三的人,在A系统中的账户名为“张三”,而在B系统中叫“张三A”,但另外还有一个叫张三的人,在A系统中叫“张三A”,而在B系统中叫“张三”。因为可能是在最早的时候,第一个叫张三的人,只在A系统中存在,而第二个张三,只在B系统中存在,同时企业中又没有一个统一的系统来维护所有业务系统中的账户信息,所以A和B系统的管理员都只能知道自己系统中已经存在“张三”,而为了避免重名,只能开通“张三A”这个账户给第二个人了。。这样一来,虽然保证了某一个业务系统中账户的唯一性,和系统的可用性。。但对于整个企业的IT来说,特别是对于整体的账户管理工作来说,就全乱了。
第六,刚才提到了新建账户的情况,在员工离职的时候仍然会有问题。随着一个用户在企业工作时间的增加,到最后没有人会知道这个用户到底在哪些系统里面拥有账户,以及用户名等账户信息到底是什么。这样一来,经常会出现的情况就是,人走了,账户还能用。风险就在于,如果有些非分之想,这些账户,是可以干很多事情的。这种风险,哪个老板扛得起啊?
其实除了这些,账户管理中还有很多的问题,都是由于信息分散,管理分散,缺乏统一标准,和流程性。如果大家仔细想想,还可以列出更多的。
期望
以上所列出的情况,都是我这几年在账户相关的工作中所真正遇到的过的事情。相信很多朋友也或多或少的碰到过。所以,我们很期望能够有一个东西,或者一个专门的系统来针对身份信息、账户信息,进行一个统一的管理。
应用场景
大体上来说,我们可以想象到的几种场景有:人员入职的账户创建;账户信息的更新同步;人员离职的状态一致性
在人员入职时,可以从HR系统自动获得新进员工的信息,同时将这个信息自动的同步到所有相关的业务系统中,并在业务系统中按照一定的标准和流程创建用户账号、属性信息等。
如果发生信息变更时,可以通过这样一套系统进行变更,并且同样会将更新信息同步到所有相关的业务信息中。
如果有员工离职,那么可以监控HR系统中该员工的状态,如果发现某员工被标记成离职状态。这套系统自动将所有业务系统中的该员工账号进行标记,或者直接禁用。从而实现只要人员发生离职,立即回收所有权利,以避免安全风险的发生。
如果能实现这样的自动化过程,一方面可以大量减少IT管理员创建用户的手动操作工作量,另一方面可以建立起用户账户信息的标准数据,从而实现全局性的信息统一性。
根本需求
所以,我们的根本需求就是,实现在企业这个全局性层面的账户信息的统一性管理,以及账户信息生命周期的标准化、流程化和自动化。
目标
那么建立一套企业IT的身份管理系统,就成了我们的最根本的目标。
要这套系统的建立,从需求的分析、实现方式,到系统架构的设计、技术或产品的选型,再到与业务系统的对接方式,和已有数据的整理,是一个非常庞大并且复杂的系统化过程。
这几年在这方面也花了不少精力,获得的经验和想法也有不少。
在这里,我想之后一段时间,不定期的写一些文章。一方面是想慢慢的把一些做过的事情和想法整理出来。另一方面,也是一个分享的过程,希望对跟我遇到同样问题的朋友,有所启发。