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