构建企业级用户中心(上):核心价值、架构设计与功能模块全景图
在上篇《构建企业级用户管理体系:高效分治不同类型用户的实践指南》中,我们解析了多元化用户的管理策略。本文作为系列第二篇,将深入探讨企业用户中心的产品架构设计,覆盖核心价值定位、系统分层架构、功能模块设计三大维度,为产品经理提供可落地的建设框架。
企业用户中心(User Center)本质是身份治理的核心基础设施,其核心价值可提炼为“5A统一管控”:
关键洞察:用户中心的本质是企业中台能力的核心载体,通过标准化身份服务降低系统重复建设成本,据Forrester研究,统一用户管理可减少30%+IT运维投入。
根据5个核心价值展开,每块有细分的业务能力,形成接口能力支撑业务系统调用。
在系统运转过程中,用户中心和各业务系统会有大量交互,用户中心作为中心能力,大部分情况是数据放在那里由业务系统定时查询,而如果想有更快速的信息获取方式,一种是业务系统在业务场景触发时主动调用,一种是通过消息队列的方式进行消息消费。同时,用户中心可为各个业务系统的账号创建、修改密码等场景提供统一的短信服务。
架构原则:通过接口标准化(OpenAPI/SCIM)和模块插件化设计,平衡统一管控与业务灵活性需求。
将整体系统架构梳理清楚后,通过业务能力整理出用户中心的应用能力地图。
根据上篇文章中提到用户是区分不同类型的,那么用户中心应支持建立不同的用户池,每个用户池可定义不同的属性字段,整个用户管理应保证某个信息的唯一性(比如手机号、账号),并可进行单个用户池的增删改查与导入导出,也支持全局的查询、导入导出。
如果要为每个用户池定义不同的属性字段,可设置和字典模块联动,一方面可复用相同的取值, 另一方面可增加字段的可配置性,后面也会专门出篇文章写如何将系统做成可配置化的形式。
另外,用户状态也是用户信息中非常重要的一个信息,内部用户和外部用户都会有调动离职的概念,人员有变动时应及时根据信息判断用户的休眠策略,防止业务信息泄露。
对于内部员工,是会关联对应的部门组织,业务系统可调用该数据进行数据权限的控制,当然用户中心也应提供标准的数据权限管理能力,到时也会用到组织架构信息。
对于外部用户,比如门店的员工也会分销售区域管理,上级也会有大区总、店长之类的,也可以为这种类型的用户设置组织架构层架,更细分的进行数据权限控制。
总结下来用户中心的组织架构管理更多的是为数据权限服务。
用户中心需为各个业务系统提供标准的认证登录能力,业务系统主要是管理后台、小程序、app三大类形式,比如管理后台主要是账密登录或手机号验证登录,app主要是本机号码一键登录、微信快捷登录,所以对于用户中心来讲,应将这些共性的认证服务封装为api接口能力,供业务系统直接对接。
另外SSO登录需要支持多种协议,常见的是 SAML、OAuth2.0协议等,如果企业有能力自研协议,也可以定制协议,这部分需要一定的技术成本,也是用户中心非常关键的技术能力。这部分对于产品来讲需要了解用户中心可以支持到哪个程度的认证登录,更多需要后端技术的支持。
用户中心需接入多个业务系统,每个业务系统来访问时应携带各自专用的编码,以保证应用间信息与权限等不会串,因此需对每个应用定义各自的编码、key、secret信息。
可针对各业务应用分别设置传输的字段编码、内容,创建的用户需要进入到用户中心的哪个用户池中,设置认证登录的策略。应用也可以设置自己的访问账号、有哪些角色、哪些权限。
一方面用户中心需管理自己的角色权限,另一方面需要支持业务应用创建自己的角色权限,并通过api能力传递给业务系统。所以直接可以做成通用的能力,既支持自己也支持外部。
权限分为菜单权限、数据权限,角色可关联菜单权限,也可以关联数据权限。数据权限的维度主要是管理哪些用户池,哪些组织架构、哪些应用,可以根据企业的情况决定数据权限的管理颗粒度,最好可以做颗粒度的可配置,这样可以便于后续拓展。
角色可以给用户池授权、单个用户授权、某个岗位或者部门授权,可以在最初建设时考虑自动化配置的实现方式,这样可以减少花费在配置上的工时,提升人效。
权限可以细分到菜单、按钮,用户中心自身需要考虑数据权限,比如设置子管理员时可能就只能看到部分数据、管理部分用户池,各个业务系统想维护数据也要能支持只看对应应用的,这些都要在前期设计时考虑清楚。
以上部分在我看来是设计时要着重考虑清楚的点,这样才能在后面的业务拓展中满足业务需求,不至于再去动底座。
以上内容时企业级用户中心建设时考虑的主要模块,后面会再分享如何设计可扩展的RBAC架构,以及如何设计配置化系统满足业务扩展。如果有更多想了解的内容或建议欢迎大家在评论区交流。
本文由 @产品猫头鹰 原创发布于人人都是产品经理。未经作者许可,禁止转载
题图来自Unsplash,基于CC0协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务