实践案例 | 数据规则方案,实现企业数据的精准管控
小编推荐
集团型企业经营数据众多,岗位设置复杂,对不同岗位的用户仅能查看对应的数据有着较高要求。为此,在数据管控方面,需要非常细致。
对此,金蝶云·苍穹可以提供完善成熟的解决方案。根据角色的职位、部门等信息,通过数据规则设置实现海量数据的精准管控。
案例撰稿人:张卫东。
1 业务背景
在苍穹系统的使用过程中,根据企业管理的要求,经常会遇到针对不同的用户群体进行不同的访问控制的要求。如果需求停留在功能限制层面,则通过简单授权即可解决。但经常会出现对数据范围的限制要求。 例如,对于“销售人员”这个用户角色,一般的控制需求是只能看到自己的数据,而不能看到他人的数据。而对于“销售部门经理”这个角色,一般需求是只能看到所管辖部门的数据而不能看到其它部门的数据。对于集团公司还会有更加复杂的需求,如按照产品线、业务线等进行数据范围限制的要求。此时一般都会涉及到数据规则的配置与使用。
下面是某集团公司销售合同的查看权限的控制需求。客户集团下设置销售公司与事业部,销售公司负责销售产品,事业部负责不同的产品线业务,需要对不同组织结构下的不同人员分配不同的权限。
集团公司组织架构图
根据客户诉求,接下来,将分别以“销售人员”、“销售部门经理”、“销售总监”、“分公司总经理”、“A产品事业部负责人”、“B产品事业部负责人”这几个角色来说明数据规则方案的配置方法。 在设置数据规则之前,首先要设置好上述“通用角色”,然后在对应的通用角色的【数据规则】中设置或选择。 用户可以先设置好数据规则后,在此处直接引用,也可以在设置时直接新增数据规则,如下图所示:2 解决方案
设置“通用角色”的数据规则
下面分别说明几个角色的数据规则的设置内容:
销售人员:只能查看自己名下的合同。针对销售合同设置数据规则:“销售人员.工号”=“当前用户”,如下图所示:
销售人员数据规则设置详情
销售部门经理:只能看到所管辖部门的合同(一般管辖一个部门)。针对销售合同设置数据规则:“销售部门.编码”=“我负责的部门以及下级”,如下图所示:
销售部门经理数据规则设置详情
如果所管辖的部门是末级部门且不存在下级部门,此处可以使用“我负责的部门以及下级”也可以使用“我负责的部门”,具体区别请查看后面的注意事项。
销售总监:只能看到所管辖的部门的合同(一般管辖多个部门)。
针对销售合同设置数据规则:“销售部门.编码” =“我负责的部门以及下级”,与销售部门经理的配置类似,但是一般总监管辖多个部门,在某些情况下可以与销售部门经理合用一个角色。
如果为了避免误操作导致权限放大,可以设置数据规则。 此时,一般要针对销售合同设置数据规则: “销售组织.编码”=“我的组织”,而在苍穹系统中不存在“我的组织”,需要单独设置后才能使用。
A产品事业部负责人:只能查看销售A产品的合同。针对销售合同设置数据规则:“销售产品.名称”包含“A产品”。
B产品事业部负责人:只能查看销售B产品的合同。针对销售合同设置数据规则:“销售产品.名称”包含“B产品”。
对于系统不支持的规则内容,可以通过一定的开发工作增加扩展函数来实现,例如系统默认没有用户所属组织的设置。 如果按照苍穹预设系统,只能设置固定值,但如果希望按照组织动态控制某个角色时,就无法实现或者设置多个角色,而通过增加“我的组织”,即可动态获取用户所属的组织,通过使用一个通用角色配合此数据规则实现业务需求。
3 方案的可推广价值
在对数据安全性有要求的企业中,一般会按照不同的工作岗位、不同的角色设置不同的数据查看范围,对于一些管理细化的企业,即使是相同岗位的人员也会按照不同的分工细化数据查看范围。 例如,同样是采购员岗位,业务需要按照所负责的不同的采购物品或按照所负责的供应商区分查看数据的范围。此时,数据规则就会在业务授权上发挥极大的作用,通过数据规则的设置,即可根据业务的要求进行数据隔离。因此,该方案具有较高的可复用性。
4 注意事项
在使用数据规则方案的过程中,需要注意以下6个问题:
第一:当两个或多个角色同时授予一个用户的时候,需要事先了解苍穹的控制逻辑,避免理解偏差导致结果与期望不一致。如果这些角色对于某个权限点都设置了数据规则,那么系统会取权限的并集给用户授权;如果只有一个角色设置了数据规则而其它角色没有设置数据规则,那么系统会取数据规则进行控制,相当于交集。 第二:数据规则最初是在通用角色上单独配置,即使相同的规则也需要进行多次配置。 虽然后续版本更新后,数据规则方案可以被重复适用,规则设置好后,可以在多个地方被引用,避免了重复配置的工作,极大减少了重复工作。但是这个改变也导致了错误使用的几率增加,修改的时候需要注意是否所有引用这个规则的角色都适用,避免由于修改数据规则导致不希望的权限控制错误出现。 第三:需要特别注意“我负责的部门以及下级”、“我负责的部门”、“我的部门以及下级”、“我的部门”这几个范围的差别:
“我负责的部门以及下级”要求用户必须是部门负责人,一般在所负责的部门还有下级部门时使用,如果没有下级部门则与“我负责的部门”没有差别; “我的部门以及下级”不要求用户必须是部门负责人,一般在所在的部门还有下级时使用,如果没有下级部门则与“我的部门”没有差别; “我负责的……”与“我的……”的差别主要是前者要求必须是部门负责人,后者并不要求,这可以在不同的权限管理中区别使用。例如,部门副经理、部门助理等可以通过设置“我的部门”的规则来授权,而“我负责的部门”可以应用在一个副总经理监管几个部门并作为那几个部门的负责人,同时要求副总经理只能看到那几个部门的数据,且不允许看到公司其他部门数据时使用。
数据规则条件示例
第四:数据规则的配置对数据的深度有要求,一般情况下超过3层关系取数就会遇到不生效的情况,需要进行严格测试验证后才能上生产环境。 第五:在私有云部署的早期版本中,给角色设置数据规则时,如果对多个权限点设置规则,则需要一次性设置完毕再保存角色,否则多次保存会导致先前设置的规则丢失,只会保存最后配置的一个规则。新的版本中这个问题已经解决,未再出现。 第六:如果业务实体允许在轻分析中使用,需要注意数据规则仅是对数据行的控制,并不会对数据列进行控制。
字段权限设置示例
#往期推荐#
更多精彩内容,“码”上了解!↓
实践案例 | 数据规则方案,实现企业数据的精准管控
本文2024-09-23 00:30:24发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-139899.html