统一身份认证是整个IT架构中最基础的部分,账号是实现统一身份认证的基础。做好账户规划设计,直接决定了企业整个信息化系统建设的便捷性和难易程度,决定了能否敏捷快速赋能,决定了数字化转型的投入和效率。用户帐户是用户身份的表示。传统的统一身份认证系统往往将各种应用系统集成为外围系统,而不是作为核心基础系统与其他应用系统集成。因此,传统的统一身份认证系统在构建过程中存在诸多问题,使设计、管理和集成复杂化。今天我们将详细讨论统一身份认证账户设计相关的几个问题:1.账户基础数据来源及管理账户(Account)是统一身份认证体系中4A管理的一个要素。账号数据从何而来,是搭建统一身份认证平台首先要确认的问题。账户通常可以简单地分为内部员工账户和外部客户/用户账户。内部账户还可能包括员工账户、外包账户、合作伙伴账户等。外部客户/用户账户通常是企业客户或用户账户。内部账户和外部账户通常是两个域的账户管理需求,需要分开处理。因此,统一身份认证平台需要支持“多租户”能力,以区分不同领域的账户管理或安全隔离需求。内部账户通常可以基于公司的AD或人力资源系统账户构建统一的账户管理能力。外部账户可以基于CRM系统账户为外部用户构建统一的账户认证管理能力。在统一的身份认证平台中,代表用户身份的账号必须是唯一的。公司的内部账户往往是基于AD或LDAP的。统一身份认证平台的账号体系一旦建立,AD或LDAP就可以被替代,无需集成AD或LDAP。身份认证账号必须处于最底层,其他系统必须基于账号体系构建登录认证。由于系统建设无法一步完成,所以可能有很多系统仍然基于AD或LDAP来管理账号。这就需要一个统一的身份认证平台来提供一个临时的中间层,并支持LDAP集成接口,以取代那些使用AD或LDAP的系统。配置。帐户和用户是两个独立的对象。账号维护在统一的身份认证平台上,而用户往往维护在人力资源管理系统上。在统一身份认证平台内,账号可以关联多个身份,支持不同的认证方式或多因素认证。以系统集成、统一身份认证平台的方式实现人力资源管理系统等应用系统。2.用户管理账户管理可以很简单,不包含其他用户信息,只代表某个用户的身份。就像一个人的身份证号码。但是,通常会有很多用户信息,比如姓名、年龄等基本信息,以及教育背景、工作经历、社会关系、培训经历、荣誉证书等信息。这些信息通常在人力资源系统中进行维护和管理。从平台集成和微服务架构设计的角度,统一身份认证平台无需考虑用户信息的管理和维护。用户管理可以是一个独立的组件模块,也可以是微服务组件,可以维护在人力资源系统、CRM系统等。通过将用户账号与用户信息关联起来,先在统一身份认证平台创建账号,其他应用使用本篇负责数据结构、数据表的设计和实现管理。统一身份认证平台上的所有用户首先要按照规则生成账号,如员工账号、外包账号、供应商账号等,然后将账号作为外键关联其他相关用户信息。(1)账户、用户和用户标识用户管理首先要为用户创建一个账户。在存量系统中,用户有账号/ID标识,但由于每个系统、每个应用都是一个独立的账号系统,形成数据孤岛,带来很多数据治理和数据使用问题,因此,通过构建统一的账号系统来解决这些问题问题,减少重复建设,提高数字化效率。为用户创建账号并与用户绑定后,用户可以使用该账号进行身份识别。账号是用户身份的标识。在统一身份认证平台中,还会存储其他用户身份信息,如人脸识别认证用的人脸识别图像信息、指纹认证用的指纹信息、虹膜认证用的虹膜信息、短信验证码认证用的手机号码等。这些身份可以唯一地标识一个用户。(2)账户和身份绑定账户可以是独立的,用户是独立的对象,但用户身份是与用户相关联的。首先要为用户分配账号,然后采集用户身份信息,如指纹、人脸、手机号等,将账号和用户身份关联起来,提供统一的身份认证能力.用户可以选择登录认证方式对登录进行认证。3.应用系统账号集成几乎每个应用系统都有自己的账号和权限系统。而且经过这么多年的IT建设,每个公司都有大大小小几十个系统,上百个系统。所以,账号、权限、日志等,可能会重复几十次、几百次。要构建一个统一的身份认证系统,就必须将这些大大小小的系统集成起来。那么如何整合呢?几乎只知道复制数据导入统一认证平台。可能大家都习惯了数据来来回回,但这是我最反对、最讨厌的。这么多的数据孤岛、数据不一致、数据混乱等问题都是由此造成的。很多人往往为了一时的方便根本不去考虑其他的事情,到后来解决这个问题还得付出几倍几十倍的代价。就像撒谎一样,要用十句、一百句来完成这个谎言。在讨论正确的处理方式之前,我们需要明确构建统一身份认证平台时的权限分层问题。认识和理解用户访问权限的级别是构建认证系统的关键之一。(1)权限分层首先,用户登录统一身份认证平台后,看到的是自己可以访问的应用系统列表。例如,一个人可以访问OA和CRM,另一个人可以访问OA和HR系统。这是第一层权限访问控制。其次,用户进入特定的应用系统后,具有操作不同应用功能的权限。例如,一个人可以访问OA系统的报表功能,另一个人可以访问OA系统除报表以外的其他功能。不同的人在一个应用系统中有不同的角色,角色对应的权限也不同。(二)新上线的应用新开发上线的应用,在开发之初必须使用统一身份认证平台的账号和权限体系,通过统一身份认证平台提供的标准化接口进行集成。这样,所有的应用程序最终都会集成到一个系统中,每个应用程序都相当于当前系统的一个组件模块。(3)股票应用系统统一身份认证平台账户首先解决用户登录认证问题。登录后访问股票系统时,由于可能存在账号不一致的情况,需要统一身份认证平台支持账号映射能力,自动转换为可访问系统的内部账号。这样,无需改动存量系统,只实现统一的身份认证和单点登录能力。4.账号管理问题在构建统一身份认证平台时,我们不得不面对公众账号、多账号、账号委托等问题。比如邮件系统中的公号和多号问题,业务系统中的账号委托问题等等,这些问题都可以结合授权机制来处理。(1)处理账户委托问题在传统的应用系统中,经常会遇到账户委托问题,这从身份认证和审计的角度来看是不合理的。账户委托就是直接给一个人分配一个账户来使用这个账户,就像我可以用你的身份证,以你的身份来处理一些事情,所以其他人可能不知道我操作了,从审计的角度来说,是你的行为,不是我的。所以这是有问题的。正确的做法是通过授权管理机制来实现。你可以把你的权限授权给我,你可以操作的业务功能我有操作权限。从审计的角度来看,这是我的行为,我也可以看出你授权了我,所以我可以代表你做这些业务。如果出现任何意外或错误,您可以通过审计记录轻松定位操作员。实现功能并不难,难的是思考和思考。说到改这些不正确的设计,很多人都会有很多借口,要么是躲避业务需求,要么是躲避改的太复杂等等,其实是不愿意改,怕改出问题。这需要在数字化转型提升应用效率时进行统筹规划和顶层设计,而开发者自觉提升几乎是不可能的。(2)公众号问题邮件系统等会涉及到群号,比如某个部门或团队发布通知。但必须明白,公众账号是无法通过统一身份认证登录的。一个公众号只与某个应用系统相关。它是一种特定的要求,具有特定的适用范围。超出此范围,则无效。因此,公共账号不保存在统一认证平台上。如果某些应用程序使用了公众号,则可以在这些应用程序中创建和维护,并通过授权机制作为个人的附属账号进行管理和维护。也就是说,公众号可以授权给应用系统内的某个人使用,一旦超出应用系统范围,将失效;同时,必要时可以撤回授权。(3)多账号问题既然有了公众账号,就不可避免地需要有人来维护或者代表这些公众账号来处理一些事情。但是就像我们之前讨论的公众号问题一样,一定要限制范围。在统一身份认证平台中,一个用户的账号是唯一的。只有特定于某个应用系统时才会出现多账号问题,多账号仅限于本应用系统。在统一身份认证平台的内部账号映射管理中,可为应用系统映射多个“内部账号”(或“二级账号”),用户在访问应用系统时可选择使用哪个“内部账号”登录5.管理账号/运维账号问题应用的初始管理账号和运维账号也是需要考虑的。通常我们设置应用系统的初始admin账号,使用admin来初始化应用系统。管理员用户设置角色权限后,需要禁用管理员帐户。在统一身份认证平台上,无法将用户映射到应用admin账号,admin只是初始化。后期管理和运维必须使用统一身份认证平台的账号,对应一个特定的有身份的人。只有这样才能满足认证审核要求。很多人不理解搭建统一身份认证平台的初衷,只把它当做一个系统来实现单点登录、双因素认证等,没有认真考虑账户管理等问题,忽视它的潜在价值。前面我们提到,统一身份认证平台是实现平台集成的最基础组件。只有设计好整个账户体系,才能为后续的应用构建带来敏捷和高效。
