• 通过DataEase行列权限设置实现数据权限管控


    在企业的日常经营中,企业人数达到一定数量之后,就需要对企业的层级和部门进行细分,建立企业的树形组织架构。围绕着树形组织架构,企业能够将权限落实到个人,避免企业内部出现管理混乱等情况。而在涉及到数据分析等工作时,权限分配的重要性进一步凸显,最直接的考量就是数据安全的问题。如何保证不同层级之间的员工仅接触到自己应该看到的数据,是数据分析工具需要考虑的问题。

    DataEase作为一款主打“人人可用”的开源数据可视化分析工具,易用性是它最大的优点,因此受到了广大开源社区用户的喜爱。那么,当面对企业实际的应用场景,涉及到复杂的数据权限管控的需求时,DataEase开源数据可视化分析工具的表现如何呢?

    本文主要分享如何通过使用DataEase的行列权限功能,结合企业的树形组织架构,最终实现数据权限管控的效果。

    背景介绍

    首先来看一下企业内部常规的数据结构示例。

    一、销售部门组织架构
    在这里插入图片描述

    二、销售部门人员具体信息(手机号码为虚拟生成号码)
    在这里插入图片描述

    三、销售数据
    在这里插入图片描述

    基于这些数据,最终想要实现的效果如下:

    1. 小张、小明、小华、小李只能看到各自的销售数据;

    2. 王总、李总可以分别看到销售一部、销售二部的销售数据;

    3. 张总可以看到整个销售部的销售数据。

    4. 销售小组组员看不到手机号码相关信息,张总、王总、李总可以看到。

    功能介绍

    DataEase开源数据可视化分析工具支持数据权限的相关功能。数据权限功能主要分为两部分,分别是行权限和列权限。

    一、行权限

    如下图所示,添加行权限时,行权限规则中有四种类型:即组织、角色、用户和系统变量。
    在这里插入图片描述

    在选择组织、角色、用户这三种行权限规则时,对目标字段可以选择特定的组织/角色/用户作为过滤条件,从而进行数据过滤,相当于在编写SQL语句的时候在添加一个“where”的条件。

    选择系统变量的行权限规则与前三种不同,系统变量规则页面如下图所示:
    在这里插入图片描述

    其中的用户ID、用户名、邮箱、用户来源、组织是登录用户的基本信息,可以在“用户管理“界面中查看。当选择系统变量类型的规则时,可以通过提取具体登录系统用户的信息作为过滤条件,以达到数据过滤的目的。相对于其他的几种配置方式,这种模式更加方便,不需要逐个选择用户/组织/角色去配置权限。
    在这里插入图片描述

    二、列权限

    列权限的配置和行权限在原理上大同小异,也可以从组织、角色、用户三个角度进行配置,配置页面如下图所示:
    在这里插入图片描述

    列权限有两种表现形式:

    1. 禁用:对目标字段进行禁用的操作,无权限的用户无法看到目标字段的列数据;

    2. 脱敏:对目标字段进行脱敏的操作,无权限的用户看到目标字段的列数据会打上*号。

    实际操作

    下面我们先对示例数据进行处理。

    首先需要梳理出“领导及下属员工的关系表”,如下表所示。这时候需要注意,为了方便之后的数据处理和关联,“领导”字段的名字是无下属的员工时,“下属员工”字段则填写员工本人名字。
    在这里插入图片描述

    下一步,需要我们在“用户管理”界面中建好所需要的用户。DataEase支持“批量导入”功能,能够有效提升用户创建的效率。由于示例中“张总”的权限是最高的,所以我们使用“张总”的账号将销售数据及处理后的用户数据导入系统。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    然后,针对导入的数据,需要创建关联数据集将员工和领导的关系与相关数据对应。我们将“领导及下属员工的关系表”中的“下属员工”字段与“销售数据表”中的“人员名称”字段关联到一起,形成一张新的数据表。
    在这里插入图片描述
    在这里插入图片描述

    一、添加行权限

    在形成的新数据表中添加一条行权限,类型为系统变量,设置字段“领导”=“用户名”。
    在这里插入图片描述

    点击“数据预览”选项卡查看数据,发现数据已经发生了变化,用户“张总”可以看到销售部所有的数据。
    在这里插入图片描述

    再将该数据集授权给“王总”和“小华”。通过切换登录用户来查看各自的数据权限,可以看到对应用户的数据权限也已经正常过滤。
    在这里插入图片描述
    在这里插入图片描述

    二、添加列权限

    接下来,我们登录“张总”的账号,创建一条列权限,针对“普通员工”角色,禁用“下属员工手机号码“这一列,如下所示:
    在这里插入图片描述

    登录角色为“普通员工”的“小华”账号,查看最终效果。可以看到,“小华”已经没有“下属员工手机号码”这一列的查看权限了。
    在这里插入图片描述

    列权限除禁用外,还有脱敏功能。我们切换登录至“张总”的账号,将刚刚配置的禁用改为脱敏,如下所示:
    在这里插入图片描述

    登录角色为“普通员工”的“小华”账号,查看最终效果。可以看到,“小华”的“下属员工手机号码”这一列已经被打上了*号。
    在这里插入图片描述

    总结

    通过以上步骤,我们成功使用DataEase的行列权限功能完成了对企业数据权限的管控。可以看到,整个整体的配置过程还是比较简单的。尤其是内置变量引入后,大大地减轻了我们在一些场景下的配置工作量。同时,行列权限功能均支持从多个角度进行权限管控,满足了日常生产使用过程中的多样化数据场景。希望DataEase在后续的版本中,能够支持更加丰富的脱敏规则。

  • 相关阅读:
    5.9.Webrtc线程事件处理
    【Bioinfomatics】生物信息学名词积累
    webservice初探
    Ubuntu下启动Apache对.htaccess 的支持步骤, 利用.htaccess绑定域名到子目录
    AHU 汇编 实验二
    前端面试的话术集锦第 20 篇博文——高频考点(输入 URL 到页面渲染的整个流程)
    学习Nano编辑器:入门指南、安装步骤、基本操作和高级功能
    Android AMS——栈管理基础(九)
    js录制屏幕并输出视频
    redis运维(八)数据类型(一)字符串
  • 原文地址:https://blog.csdn.net/FIT2CLOUD/article/details/127874144