权限管理之三权分立设计模型
编辑导读:权限管理是一个基础功能,如何满足多用户,多层级,多部门,甚至多租户的需求?本文作者对此进行了分析,与你分享。
权限管理如何才能满足多用户,多层级,多部门,甚至多租户的需求。对应SaaS平台的权限设计如何能满足不同用户的不同的需求。对应平台型产品如何结合业务场景设计灵活的权限管理系统。
我认为要遵循三个原则:
层级要够,预留拓展空间
权限分离,可实现排列组合
专业平台用行业术语,降低学习成本
接下来以机器学习平台权限设计举例,给大家介绍一下权限设计流程和框架。
一、机器学习平台权限管理设计
1. 名词解释
租户:指的是使用机器学习平台的一家企业或者机构
业务线:指使用机器学习平台的一家企业或者机构下面的业务线
平台管理员:指的是机器学习平台的管理员,可开通租户管理员账号
租户管理员:指租户管理人员,可开通该租户下的用户账号
2. 数据权限设计架构图


租户管理员可创建业务线,及业务线下的用户,每个用户可同时属于多个业务线,但只能属于1个租户。
3. 操作流程
1)创建租户
平台管理员登录,点击创建租户

.png)
2)创建租户管理员
平台管理员创建租户管理员
租户选中为下拉单选

.png)
3)创建业务线
租户管理员创建业务线

.png)
4)创建用户
租户管理员创建用户
业务线为下拉多选


5)创建角色
平台管理员和租户管理员都可创建角色
创建角色和赋予角色三个权限
页面权限
操作权限
数据权限

创建角色

分配菜单权限

分配功能权限

分配数据权限
数据权限分配为单选
租户数据:为该租户下所有数据权限
业务线数据:为该角色用户所属业务线数据权限
个人数据:只能查看个人数据

二、三权分立
通过以上案例可以看出,是把菜单权限、页面权限、数据权限赋予角色,把角色赋予用户,用户属于业务线,业务线归属于租户。
页面权限:
页面权限是指针对系统中具体的页面有访问的权限。例:整个系统中有三十个页面,A员工权限只能查看其中的十个页面。
操作权限:
操作权限是指系统中的功能按钮有具体的操作权限。例:A员工在查看到十个页面里,其中一个页面是模型管理页面,但是A不是运营人员,所以只能查询模型信息,而不能对模型进行新增、修改、删除等操作权限。
数据权限:
数据权限是指能够查看或下载的数据范围的权限,例:模型管理页面中包当前渠道下所有模型列表。不同角色在同一个页面看到的信息是不同的。渠道管理员可以看到所有模型。而工程师只能看到自己创建的模型。
三、总结
以上的权限设计模型是RBAC模型,基于角色的访问控制(Role-Based Access Control),再在角色授权上实施三权分立,使得权限管理更灵活。当然,针对不同的业务线权限设计也不尽相同,但是对应多用户的系统,还是倾向于“杀鸡用牛刀”,因为随着业务发展,再拓展权限的话成本会跟高,权限管理必须要有顶层设计,早比晚好。
作者
老张,《人工智能产品经理技能图谱:AI技术与能力升级》作者,AI产品经理,专注于自然语言处理和图像识别领域。现智能保险创业公司合伙人,希望与人工智能领域创业者多多交流。
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!
