2024年6月2日发(作者:)

统一身份认证是整个 IT 架构的最基本的组成部分,而账号则是实现统一身份认

证的基础。做好账号的规划和设计直接决定着企业整个信息系统建设的便利与难

易程度,决定着能否敏捷和快速赋能,决定着数字化转型的投入和效率。

用户账号是用户身份的一种表示。传统统一身份认证系统往往作为外围系统来集

成各个应用系统,而不是作为核心基础系统被其他应用系统来集成。所以传统统

一身份认证系统的建设存在众多的问题,使设计实现复杂化,管理复杂化,集成

复杂化。

我们今天将详细讨论下统一身份认证账号设计的几个相关问题:

一、 账号基础数据来源及管理

账号( Account )是统一身份认证系统中 4A 管理中的一个要素。账号数据来

源于哪里是建设统一身份认证平台时首先要确认的问题。账号通常可以简单分为

内部员工账号和外部客户 / 用户账号。内部账号也可能包括工勤账号、外包账号、

合作伙伴账号等。外部客户 / 用户账号则通常是业务客户或用户的账号。内部和

外部账号通常是两个领域的账号管理需求,需要分别进行处理。因此统一身份认

证平台需要支持“多租户”能力,以区分不同领域账号管理或安全隔离要求。

内部账号通常可以基于公司的 AD 或人力资源系统账号为基础,构建统一账号管

理能力。外部账号则可以基于 CRM 系统账号为基础构建外部用户统一账号认证

管理能力。在统一身份认证平台内,表示用户身份的账号一定是唯一的。公司内

部账号往往是基于 AD 或 LDAP 的,统一身份认证平台的账号体系一旦建立起

来,就可以替换掉 AD 或 LDAP ,不用再去集成 AD 或 LDAP 。身份认证账

号一定是处于最底层的,其他系统都要基于账号体系来构建登录认证的。

由于系统建设不可能一步到位,所以可能存在很多系统还是基于 AD 或 LDAP

进行账号管理的,这就需要统一身份认证平台提供临时中间层,支持 LDAP 集成

接口,以替换那些用到 AD 或 LDAP 的系统的配置。

账号和用户是两个独立的对象。账号在统一身份认证平台来维护,而用户则往往在人力

资源管理系统维护。在统一身份认证平台内部,账号可以关联多种身份标识,以支持不

同的认证方式或多因子认证。而人力资源管理系统等应用系统,则按照系统集成统一身

份认证平台的方式来实现。

二、 用户管理

账号管理可以很简单,不包含用户其他信息,只代表某个用户的身份。就像人的

身份证号一样。不过用户的信息通常是很多的,比如姓名、年龄等基本信息,还

有教育背景、工作经历、社会关系、培训经历、荣誉证书等信息。这些信息通常

在人力资源系统里面进行维护管理。从平台融合微服务架构设计来说,统一身份

认证平台可以不需要考虑用户信息的管理和维护。用户管理可以单独成为一个独

立的组件模块或微服务组件,可以放在人力资源系统、 CRM 系统等来维护。通

过用户账号和用户信息关联起来,先在统一身份认证平台创建账号,然后其他应

用使用这个账号进行数据结构、数据表设计和实现管理。

所有的用户在统一身份认证平台首先要根据规则生成账号,比如员工账号、外包

账号、供应商账号等,然后账号作为外键来关联用户其他相关信息。

(一) 账号、用户和用户身份标识

用户管理一定要首先为用户创建账号。存量系统中用户都有账号 /ID 标识,但由

于每个系统每个应用都是一套独立的账号体系,形成数据孤岛,带来众多的数据

治理和数据使用问题,因此,通过构建统一的账号体系来解决这些问题,减少重