数据是一个企业最重要的资产。很多企业之间的竞争,其实也是数据之争,资源之争。数据权限,就如同为数据筑起的一座座城墙,清晰地划分了用户能看到的数据范围,为数据提供安全保障。
01 问题阐述你有没有听过这样的例子:某企业的HR因为工作疏忽,泄露了公司员工的工资表,由此带来一大堆麻烦。公司内的员工有因为工资少提出 *** 的,更有直接离职的,而竞争对手也趁机大挖墙脚。不仅损失了人才,更是损坏了公司名誉,给公司带来实际的损失。
而如果泄露的数据是企业的重要商业秘密,如客户名单,则会给企业带来致命的伤害。
这就是数据权限没有控制好带来的后果,很多人看到了不应该看到的数据。
反过来,企业员工如果没有看到应该看到的数据,也会影响工作效率,甚至造成流程中断。比如领导看不到下级的业绩,就无法完成管理工作。
由此,数据权限的重要性可见一斑。如何更合理地管理数据权限,让数据权限如人所愿?数据权限是不是控制得越细越好?甚至是直接针对每一个人去设置数据范围呢?
02 解决方案我们知道,企业是“铁打的营盘,流水的兵”,员工调动/离职是很正常的。所以针对每一个人去维护权限,显然是不合理的,后期的维护成本会很高。更合理的做法是针对岗位/角色设置权限。
针对应用场景的不同,有以下三种方案。
方案一按照岗位体系建立数据权限。
把权限赋予岗位,再把员工(用户)放在岗位上,从而间接把权限赋予用户。
有的企业的数据权限很简单,就是普通员工只能看到自己的数据,部门负责人可以看到本部门的数据,高层管理可以看到所有下级部门的数据。这样可以把这套规则直接写死在系统里面,然后根据员工的任职岗位和部门去读取对应的数据范围即可。
举例:
张三是某公司的华南大区销售经理,华南大区下面有深圳区域和广州区域,这两个区域部门各自有1个区域销售经理和10个销售员。为了避免区域之间的跨区销售和恶性竞争,公司要求客户信息和销售订单必须严格按照岗位体系来限制,每个销售员只能看到自己的数据,上级可以看到下级的数据,下级不能看到上级的数据。同时所有人都只能看到自己部门的数据,不能看到其他部门的数据。
这时根据岗位体系的数据权限,我们可以把销售订单和客户两个单据录入到岗位体系数据权限里面,则这两张单据的数据范围受岗位体系限制。每个人查看销售订单和客户的时候,只能看到他所有下属(包括他自己)的数据。
其他没有录入的单据,则不受岗位体系的限制,每个用户都可以看到所有数据。
此方案的典型适用场景就是销售管理系统、客户关系管理系统(CRM)。
特点:数据权限的划分严格按照员工岗位体系划分。
优点:设置简单,只需要录入需要限制的单据,选择是按照部门或者按照下属来限制即可。
缺点:需要维护一套岗位体系;不够灵活,无法查看跨部门的数据、上级领导的数据等。
也就是说,使用岗位体系数据权限只有两种结果,要么受岗位体系限制,要么没有限制(能看到所有数据), 其他需要限制但不是按照岗位体系限制的需求,则无法满足。
比如有些集团中心的财务、人事等岗位,需要看到整个集团的数据,但是他们又不是集团领导,其他人也不是他们的下属,这种情况岗位体系数据权限是满足不了的。
我们提供更为灵活的方案二。
方案二针对角色设置数据权限。
把权限赋予角色,角色叠加到用户上,从而间接把权限赋予用户。
角色和岗位相比,有两个好处:1、岗位是在企业组织架构里面设立的,不能随意修改,但是角色是可以灵活设置的,比如可以设置一个“华南大区报销负责人”的角色,但是这个岗位在企业组织架构中不存在,所以不能设立这样一个岗位。2、角色可以多个叠加,比如张三又负责华南大区的费用报销,又负责华东大区的费用报销,就可以把“华南大区报销负责人”和“华东大区报销负责人”两个角色都赋予张三。但是岗位上张三是一个“报销专员”,并没有身兼多职。
所以,角色比岗位要灵活很多。
我们先引入一个概念:数据规则。
将单据中的每一个字段都作为一个数据权限对象,然后对这些字段设置比较条件,这些比较条件组合起来就形成一个针对该单据的数据规则。每一个数据规则有一个名称。
编辑导语:同等权限下多任职之间的数据权限应该如何办理呢?本文作者提出了两种办理要领,而且先容了权限系统、权限分类和脚色打点,但愿看后可以或许对你有所开导。 有两种办理方案: 第一种实现难度低,不消跟...