一文读懂,权限模型的设计核心
权限有准确性和易用性两大核心,当准确性已经足够之后,就需要考虑权限模型的易用性,提高权限配置效率的问题。这篇文章,作者和我们分享了如何提高配置效率的易用性的方法,希望能帮到大家。
一、权限模型的核心
权限有准确性和易用性两大核心,准确性比易用性更加重要。权限模型的迭代方向,应当是先确保权限配置的准确性,再考虑易用性。
易用性本质是提高权限配置效率。权限配置又分为首次配置权限时的“配置阶段”和后续修改权限时的“维护阶段”。配置阶段效率高和维护阶段效率高,通常很难两全其美。
原因可以概括为:
- 配置阶段效率高时,“配置权限”的功能一般都呈现多样化,客户可以按照自己想法随意配置,客户可以通过便捷的功能,快速新增管理组、权限组等内容。可能导致的现象是,新增配置时没有功能阻碍,在快速新增过程中,客户思考后续维护的时间更短。产品功能上由于开放了多样化的功能,也没有在“配置阶段”通过“特意增加功能限制”的方式来引导用户配置权限时要多考虑后续维护问题,从整体上怎样新增配置才能让后续维护更简单。最终结果导向是,配置阶段效率提高后,部分用户在维护阶段效率降低。
- 维护阶段效率高时,除了会有一些权限查询功能支持多维护查询权限,通常在配置阶段也会做限制(限制可能在功能上,也可能在交互上),引导用户在配置阶段就开始思考怎样的配置才最合理、最容易让人理解、最容易后续维护。配置阶段需要客户思考更多,维护阶段更简单,按照配置时的思路维护即可。
需要根据用户需求来权衡走哪种方向。并且,在一个方向上功能逐渐做深做重之后,积重难返,后续就是不断打补丁增加功能,来修复迭代方向上的问题。
就如在方向一上走得很远之后,很难再转头兼容到方向二,就需要在方向一上做增量设计和重构设计来不断缓解问题,而很难根除问题。并且在不断做增量设计的过程中,客户的操作成本、学习成本也在不断增加。
二、权限载体和权限
具体资源项分配给权限载体的过程,就是权限分配过程。
- 权限载体:指获得权限的对象(包括部门、角色、单个用户)。包含多个用户的对象,也可以称为用户组。
- 权限:分配给权限载体的资源项,就是权限。
三、权限的配置效率
3.1 什么是配置效率
配置效率包括初次配置和再次配置:
- 初次配置:给用户A配置目录1的权限;给用户B配置目录1的权限……给用户Z配置目录1的权限——总共要配置26次。
- 再次配置:需要给用户A~Z取消目录1的权限——总共要配置26次。
3.2 用户组还是用户
用户组是容纳用户的一种虚拟结构,用于批量控制一类用户,部门、角色、职位是不同类型的权限载体(用户组)。
它们存在的意义是配置权限、管理用户,通过对最细粒度的用户进行抽象,提高权限配置的效率。通过和用户单独配置方式的对比:
- 用户单独配置方式:用户A申请目录1、2的权限;用户B申请目录1、2的权限;用户C申请目录1、2的权限——总共需要配置6次权限。
- 用户组(如角色)配置方式:将用户A、B、C加入角色X中,角色X申请目录1、2的权限——总共需要配置2次权限。
所以用户组配置效率是用户单独配置效率的N倍(N=用户组内人数)
场景限制:在用户上的配置记录能够被归类到用户组上。
3.3 部门还是角色
部门是树结构,角色是列表结构。
如果用户组间存在层级关系,在给多个用户组配置权限时,树结构的配置效率是列表结构的N倍
场景限制:用户组存在层级关系,能够被归纳到父节点上。
3.4 总结
从配置效率上来看,层级用户组(部门)>列表用户组(角色)>用户
四、权限载体的维护效率
4.1 和其他系统共有的权限载体
企业中大多存在一个核心的用户系统,如OA、ERP等,和这个系统保持同步,可以减少以下维护成本:
- 权限载体名称的修改:包括用户名、部门名、角色名的修改,权限不变。
- 权限载体的新增:和核心用户系统同步新增权限载体,权限为空。
- 权限载体的删除:和核心用户系统同步删除权限载体,权限清除。
4.2 业务系统独有的权限载体
4.2.1 业务初期的权限分配
业务部门联合人力资源模块,根据当前的业务情况共同制定通用的用户组和命名规范。
- 通用用户组是为了提高初期分配权限的效率。
- 命名规范是为了减少用户组后期的维护成本,而规范的命名可以一眼看出用途,减少用途之间的交叉重叠。在后续配置权限时,能够很快的根据场景找到所需的用户组。
命名规范:可以使用 创建者、用途、创建时间、修改时间、集团业务板块、项目名称、资源模块等字段。
4.2.2 如何处理新增的权限配置需求
在后续使用过程中,会遇到的权限需求,形如”用户A需要目录1的权限”,需要根据下列流程进行判断:
1)能否使用现有的用户组:根据业务场景,判断用户A能否加入当前已经存在的用户组X
- 判断标准:用户A能否具有该用户组X的其他权限
2)有无必要新增用户组:如果无法加入已经存在的用户组,判断是否需要新增用户组Y
- 判断标准:该条权限记录的相关业务是否会长期存在
- 新增方式:根据命名规范,创建一个和现有用户组用途不交叉的新用户组
3)直接在用户上配置权限:如果该记录相关业务变动频繁,则直接在用户上配置权限。
4.2.3 定期审查
权限审计:根据权限数据制作对应的模板,定期进行权限审查,确保没有越权问题发生
整理用户组:排查各用户组的用途,判断是否需要拆分、整合、删除用户组。
- 拆分:某个用户组被同时用在业务A、B上,如果认为业务A、B没有共性,可以考虑拆分
- 整合:两个用户组的用途类似,可以考虑整合
- 删除:某个用户组上的权限记录比较少、某个用户组中的人数很少,可以考虑删除或整合到其他用户组
- 新增:之前在用户上单独配置的一系列临时权限,是否可以归纳到用户组中
4.2.4 如何应对大量的权限配置需求
因为业务情况,可能仍会出现大量的权限配置需求,如
- 全国几百上千家门店,门店相关权限经常会进行细微变动
- 人员变动频繁,没有固定的用户组,权限都是配置在用户上,经常需要变更
- ……
对于非常频繁的权限变动,如果无法从业务上进行梳理调整,则总配置量不会减少,能做的有:
- 可以接口制作权限申请审批流程,将工作量下放到每个具体的业务人员,减少管理员的工作量。
- 使用分级授权功能,将工作量下放到每个子业务模块的管理员手中。
4.3 组织结构的变动
在OA、ERP核心用户系统中,发生用户转岗、组织结构重组等涉及到用户的权限可能需要变动的场景,因为在业务系统中存在自定义的用户组、存在用户上单独配置权限,这些权限记录需要进行调整。对应的策略可以是:
1)适合权限严格业务:核心系统组织结构的变动应该及时通知各个业务系统,做好原用户的权限整理。
- 在调整后重新配置权限
- 禁用该用户的账号,由用户重新申请自己的权限。
2)适合权限宽松业务:被动响应用户发现的权限异常
总结:应对变更的策略需要和具体业务结合,比如普通权限和营销财务权限不同、有安全风控的大企业和中小企业不同。
4.4 总结
从维护效率上来看,
- 同步核心用户系统>自定义用户组
- 通用用户组和命名规范可以提高维护效率
- 申请审批和分级授权不能提高企业的维护效率,只是转移维护成本(表面看起来只是维护成本的转移,但是流通速度提升了,参与感和响应性提升了,这种感知的提升无论在主观还是客观上都会带来一定的效率提升)
五、总结
权限管理是一个系统性问题,配置效率和维护效率会互相制衡,选择方案需要综合企业现有配合模式和对安全管理的重视程度。
作者:飞鱼 B端产品站,公众号:飞鱼 B端产品站
本文由 @飞鱼 B端产品站 原创发布于人人都是产品经理。未经作者许可,禁止转载
题图来自Unsplash,基于CC0协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
- 目前还没评论,等你发挥!