

























数据权限是SaaS产品必不可少的功能,明确权限管控的颗粒度,保障数据安全。本文作者对如何SaaS 产品的数据权限该如何设计展开了分析,希望对你有帮助。

最近正好在做数据权限这块的产品设计,同时拆解完纷享销客的 PaaS 平台后,又受到了新的启发。事实上,我发现不少 SaaS 的产品经理都没有接触过数据权限这块的产品设计 —— 通常,如果经历过从0-1的 SaaS 产品过程的话,就会知道数据权限是一开始就需要设计和开发的。
本篇就来和大家讲讲如何设计数据权限产品功能。
我想如果面试的时候来问产品经理这个问题,估计会得到很多不一样的答案。简单的回答可能就是“对系统的数据进行访问控制”,而这相当于没有回答。
实际上,我认为要从三个方面回答这个问题。
数据权限一是控制登录人访问的数据范围,不该看的不能看;二是控制登录人操作数据的行为,不该管的不能管;三是控制登录人能够查看的业务对象属性,敏感的属性要管控。
我们来看看应该怎么来控制登录人的数据权限,这里可以分为数据范围权限控制、数据操作权限控制和业务对象字段权限控制。
B 端客户内部的业务对象通常来说会按管理层级划分管辖范围,比如我曾经做过的物业平台,他们会按小区(也叫物业项目)、片区、分公司、大区和总部五个层级来划分管辖范围。

这里的小区其实就是一个基础的授权业务对象,然后将多个小区集合起来会形成片区。同时,经营小区的会是具有法人资质的主体,即分公司。多个分公司又会按地理区域划分到不同的大区,最后到总部管辖全部的业务数据。这个时候,我们就需要支持从基础的业务对象到更大范围的数据授权。
比如下面几个场景:
通常来说,不同层级的授权方式是互斥的,也就是一个人不能说既按小区级别授权又按片区级别授权。同时,同一个层级的,是支持授权多个的。
对于 B 端客户的外部业务对象,因为不存在管辖层级,往往是通过分配的方式进行。即将一个或多个业务对象分配给某类角色或某个员工,登录人只能看到分配给自己的业务对象。典型的就是 CRM 系统的客户公海资源,员工只能看到分配给自己的客户。
业务对象操作权限是指对业务对象以及业务对象属性能够进行的操作。典型的业务对象的操作就是新增、删除、编辑、查看、导出、改变业务对象状态(如市场线索转销售线索)等等。比方说,我们控制 A 员工只能查看客户信息,不能新增、编辑、删除和导出客户信息。
业务对象字段的颗粒度就更小一点,是针对某个类型的业务对象,约束登录人能查看、编辑或导出业务对象的哪些属性。业务对象属性在技术上对应的是数据表的字段。
举个例子,CRM 系统的“客户”这个业务对象,会有名称、地址、电话、级别、所属行业等等信息。我们就可以控制A 员工(或角色)只能查看客户名称、级别和所属行业,不允许查看地址和电话。
接下来我们看数据权限的产品怎么设计。
数据范围权限控制首先我们要明确系统的基础业务对象,比如物业平台的小区、房地产管理的楼盘、WMS的仓库、线下商超的门店等等,这些都可以作为基础的授权业务对象。然后,基于基础业务对象构建管理层级,划分到不同层级的不同集合里。之后,就可以授权某个角色或人员拥有的管辖范围,下面是一个示例。

给业务对象分配成员的比较简单,基于业务对象添加成员或者移除成员即可,在文档协作类产品非常常见。
控制业务对象的操作权限,我们首先要基于某类业务对象定义好这类业务对象有哪些操作,然后再勾选某个角色或人员有能够进行哪些操作。
业务对象的操作涉及如下信息:

下面是纷享销客的业务对象操作权限控制的界面,大家可以参考一下。

字段操作权限和业务对象操作权限类似,我们也需要先定义好业务对象的字段属性,主要的信息如下:

字段的操作一般只有读取、编辑和导出,因此字段操作上不需要单独管理。下面同样给出了纷享销客的字段授权的界面,供大家参考。

总的来说,数据权限的授权分为三个方面,业务对象范围授权、业务对象操作授权和业务对象字段授权。
为了实现这三个方式的授权,我们在产品设计上需要支持业务对象范围的划分、业务对象操作的定义和业务对象字段的定义,如下图所示。之后,我们就可以配置某个角色或人员的数据权限了。

数据权限是SaaS产品必不可少的功能。企业的数据很多涉及敏感信息,包括商业机密信息等等,因此必须在产品规划之初就明确权限管控的颗粒度,以及按何种方式管理数据权限。希望看了本篇之后,能够给大家一些参考和启发。
专栏作家
产品海豚湾,公众号:产品海豚湾(ID:pm-dophin-bay),人人都是产品经理专栏作家。技术出身的产品经理,从事过 C 端产品和 B 端产品设计,擅长 SaaS 产品设计、产品架构设计和需求分析。负责的B 端产品完成了完整的从0到1,从1到 N 的过程,成功签约行业百强客户。
本文原创发布于人人都是产品经理,未经许可,禁止转载。
题图来自Unsplash,基于CC0协议。
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。