权限管理之三权分立设计模型

编辑导读:权限管理是一个基础功能,如何满足多用户,多层级,多部门,甚至多租户的需求?本文作者对此进行了分析,与你分享。

权限管理如何才能满足多用户,多层级,多部门,甚至多租户的需求。对应SaaS平台的权限设计如何能满足不同用户的不同的需求。对应平台型产品如何结合业务场景设计灵活的权限管理系统。

我认为要遵循三个原则:

  1. 层级要够,预留拓展空间

  2. 权限分离,可实现排列组合

  3. 专业平台用行业术语,降低学习成本

接下来以机器学习平台权限设计举例,给大家介绍一下权限设计流程和框架。

一、机器学习平台权限管理设计

1. 名词解释

  • 租户:指的是使用机器学习平台的一家企业或者机构

  • 业务线:指使用机器学习平台的一家企业或者机构下面的业务线

  • 平台管理员:指的是机器学习平台的管理员,可开通租户管理员账号

  • 租户管理员:指租户管理人员,可开通该租户下的用户账号

2. 数据权限设计架构图

超级产品经理

超级产品经理

租户管理员可创建业务线,及业务线下的用户,每个用户可同时属于多个业务线,但只能属于1个租户。

3. 操作流程

1)创建租户

平台管理员登录,点击创建租户

超级产品经理

超级产品经理

2)创建租户管理员

平台管理员创建租户管理员

租户选中为下拉单选

超级产品经理

超级产品经理

3)创建业务线

租户管理员创建业务线

超级产品经理

超级产品经理

4)创建用户

租户管理员创建用户

业务线为下拉多选

超级产品经理

超级产品经理

5)创建角色

平台管理员和租户管理员都可创建角色

创建角色和赋予角色三个权限

  • 页面权限

  • 操作权限

  • 数据权限

超级产品经理

创建角色

超级产品经理

分配菜单权限

超级产品经理

分配功能权限

超级产品经理

分配数据权限

数据权限分配为单选

  • 租户数据:为该租户下所有数据权限

  • 业务线数据:为该角色用户所属业务线数据权限

  • 个人数据:只能查看个人数据

超级产品经理

二、三权分立

通过以上案例可以看出,是把菜单权限、页面权限、数据权限赋予角色,把角色赋予用户,用户属于业务线,业务线归属于租户。

页面权限:

页面权限是指针对系统中具体的页面有访问的权限。例:整个系统中有三十个页面,A员工权限只能查看其中的十个页面。

操作权限:

操作权限是指系统中的功能按钮有具体的操作权限。例:A员工在查看到十个页面里,其中一个页面是模型管理页面,但是A不是运营人员,所以只能查询模型信息,而不能对模型进行新增、修改、删除等操作权限。

数据权限:

数据权限是指能够查看或下载的数据范围的权限,例:模型管理页面中包当前渠道下所有模型列表。不同角色在同一个页面看到的信息是不同的。渠道管理员可以看到所有模型。而工程师只能看到自己创建的模型。

三、总结

以上的权限设计模型是RBAC模型,基于角色的访问控制(Role-Based Access Control),再在角色授权上实施三权分立,使得权限管理更灵活。当然,针对不同的业务线权限设计也不尽相同,但是对应多用户的系统,还是倾向于“杀鸡用牛刀”,因为随着业务发展,再拓展权限的话成本会跟高,权限管理必须要有顶层设计,早比晚好。

作者

老张,《人工智能产品经理技能图谱:AI技术与能力升级》作者,AI产品经理,专注于自然语言处理和图像识别领域。现智能保险创业公司合伙人,希望与人工智能领域创业者多多交流。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部