页面树结构
转至元数据结尾
转至元数据起始

1 概述

数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。

脱敏规则是涉及数据安全的,和数据行权限一样,越底层越优先,如数据源上给表字段身份证设置了脱敏规则A,在数据模型上给此字段设置脱敏规则B,系统依然会用脱敏规则A,避免用户钻漏洞,同样基于身份证的计算字段等都会是脱敏的,都是为了避免安全漏洞。

1、脱敏规则支持 字符串、数值 字段脱敏,暂不支持 日期 字段进行脱敏。

2、字符串、数值字段如果设置了脱敏规则,再使用该字段去做二次计算比如:计算度量新建计算列、新建计算字段、新建命名集新建计算成员等构建的新字段,都会继承脱敏规则,使用***显示。

3、重建索引过程中,如果正在新建修改脱敏规则,会提示 索引正在重建中,请稍后再操作。

4、数据集抽取 : 抽取后,预览数据会根据脱敏规则进行脱敏,但是存储在高速缓存库中的数据是不脱敏的。

5、在数据模型中设置了 度量 比如销售额 的脱敏规则,在维度中的销售额 没有设置脱敏规则,在查询清单时,不会继承 度量 销售额的脱敏规则。

6、数值区间脱敏,在仪表盘导出数据时,目前暂时不支持导出显示值。

7、数值脱敏,每次清空缓存会根据算法重新计算,即清空缓存之后脱敏会的数据会改变。

8、字段设置了脱敏,如果字段切换成计数、唯一计数,则不使用脱敏规则(由于原先的业务含义改变了)。

2 操作说明

2.1 功能入口

    通过“新建脱敏规则”,或者打开已定制的脱敏规则,都可以打开“脱敏规则”设置界面。

    入口:运维设置 / 全局资源定义/ 脱敏规则/ 右键菜单/ 新建/ 脱敏规则:

     

2.2 界面介绍

各设置项说明如下:

设置项说明
算法名称输入脱敏规则名称。
算法别名输入脱敏规则别名。
脱敏类型支持 字符串、数值型字段脱敏。
脱敏字段

选择进行脱敏的字段。

  • 如果脱敏类型是 字符串,那么选择字段时只能选择字符串类型的字段。
  • 如果脱敏类型是 数值型,那么选择字段时只能选择数值类型的字段。
  • 选择字段的范围:源表、业务主题、各个数据集

脱敏算法

1、字符串字段支持:

  • 掩码:是一串二进制代码对目标字段进行位与运算,屏蔽当前的输入位。
  • 正则替换:利用Java语法的正则表达式进行字符串替换。
  • 字符替换:利用指定的符号替换字符串。

2、数值型字段

  • 字符替换:利用指定的符号替换字符串,在报表展示会直接显示替换的字符,所以这种方式无法用于图表作图。
  • 缩放归一算法:设置区间显示的方式,通过算法计算出脱敏后的值,脱敏后的数据不管怎么浮动始终会在设置的区间中,在使用图表展示时,保持趋势正确。
算法参数

主要是 字符串 不同的算法支持的参数不同:

  • 掩码:确定保留内容以及替换字符。表示字段中除去保留的部分,其它部分用替换字符替代。
  • 正则替换:输入正则表达式,设置替换字符。表示字段符合正则表达式的字符串用替换字符替代。
  • 字符替换:设置替换字符。表示字段所有字符串用替换字符替代。
应用范围

表示当前脱敏规则生效的用户对象,可以通过对用户、用户组、角色进行设置。

1)当选择“适用于此范围”,且“范围定义”无内容或为空时,则对所有角色、用户、用户组不生效。

2)当选择“不适用于此范围”,且“范围定义”无内容或为空时,则对所有角色、用户、用户组生效。

应用于表示当前脱敏规则生效的情景:是在浏览资源时生效还是在导出资源时生效,或者两者都生效。
禁用表示禁用当前脱敏规则。

2.3 示例

2.3.1 字符串示例

不同算法的参数设置示例及效果如下:

算法参数设置项效果
掩码

以下设置是将整个电话号码每个数字都用“*”替代。


正则替换

以下设置是将电话号码区号后面的数字串用“*”替代。


字符替换

以下设置是将整个电话号码的数字串都用“*”替代。

2.3.2 数值型示例

1、数值脱敏,每次清空缓存会根据算法重新计算脱敏后的数据,即清空缓存之后脱敏会的数据会改变。

2、数值区间脱敏的最小、最大值都必须设置;

数值脱敏需要通过偏差值计算得出,而偏差值是通过区间的最大值,最小值计算得出;

数值脱敏之后,就算是去作图显示,脱敏后的值是在区间范围内波动展示。


1、创建脱敏规则,命名为 数值脱敏,并且脱敏算法选择 字符串替换,替换字符串为 * ,如下图,为了演示效果,应用范围 默认选中“不适用于此范围”:

2、再创建脱敏规则,命名为 数值区间脱敏,脱敏算法选择 区间归一缩放,并且设置好区间:

  • 点击 +添加区间 支持添加一个区间范围。
  • 区间范围:只能输入数值,并且已经重复输入的范围或其他区间已包含的范围,不能新增。比如已输入0~100(大于等于0,小于等于100),不能再建50~80(大于50,小于等于80)的区间。
  • 为了演示效果,应用范围 默认选中“不适用于此范围”

3、基于产品自带的northwind数据库,使用 “订单明细表”、“订单表”等创建模型。

4、创建好模型,再创建计算度量“销售额”,如下图:

5、设置 字段 数量 的脱敏规则为:数值脱敏,设置 销售额 的脱敏为 数值区间脱敏:

6、保存模型,并且去创建仪表盘

  • 查看 区域、省份、城市的数量,如下图,全部脱敏变成*。

     

  • 查看 区域、省份、城市每日销售额,如下图(注意,在仪表盘导出数据只能导出真实值)。

7、基于创建好的模型,去创建WEB电子表格/ 电子表格:用于展示 区域、省份、城市每日销售额。

  • 拖入维度和度量,如果是数值脱敏的字段需要设置 使用显示值
  • 双击字段单元格,依次设置好销售额的 使用显示值,设置成 是,如下图所示

再预览数据才能正常显示脱敏后的数据。


2.4 数据脱敏应用范围

类型  

是否支持

数据源

本地数据源

关系数据源

Java数据源

Nosql数据源

多维数据源

高速缓存库

×

跨库联合数据源

数据集

数据模型
业务主题
自助数据集

可视化数据集

SQL数据集

原生SQL数据集

存储过程数据集

JAVA数据集

多维数据集

×

分析展现
 
 
 
 
 
 
 
 
 
 
 
 
 
 

交互式仪表盘

即席查询

透视分析

灵活分析

仪表分析

电子表格

                                  web电子表格                                                       √

2.5 数据脱敏继承关系

2.5.1 继承规则

序号内容
源表设置了脱敏规则

源表的脱敏规则最大:

  • 在源表设置了脱敏 引用到模型里面时, 作为 维度 要继承源表的脱敏规则;作为 原子度量,也要继承源表的脱敏规则;引用 原子度量 创建 计算度量新建计算列新建命名集新建计算成员等,也会默认继承源表字段的脱敏规则。

  • 如果源表设置了脱敏规则,在模型里面又设置了脱敏规则,则优先取源表的,再按照创建的时间顺序取其他的,最终是 并集 效果。

数据集设置脱敏

如果源表没有设置脱敏规则,只是在数据集设置脱敏规则:

SQL查询、SQL数据集(SQL方式)在源表设置了脱敏规则,写SQL无法继承源表字段的脱敏规则,比如在数据模型中使用SQL查询,需要重新设置脱敏规则
脱敏规则的缓存

默认读取数据集的缓存策略,比如:数据模型是禁用缓存则脱敏规则也是禁用缓存

设置脱敏规则原则报表层原则上不设置脱敏规则。

2.5.2 涉及脱敏/脱敏继承的细粒度

涉及脱敏/脱敏继承的细粒度

支持独立设置

支持继承

源表字段(字符串、数值型)


维度(字符串、数值型)

原子度量、切换聚合方式的原子度量

快速计算

X

计算字段

计算度量/向导计算

计算列

命名集

X

计算成员X
分组字段

2.5.3 继承规则流程说明

1、 如果在在源表设置脱敏规则:

2、如果在在源表没有设置脱敏规则,但是在数据模型针对字段设置脱敏规则:

3、SQL查询、原生SQL数据集、SQL数据集(凡是使用sql的方式)都不会继承源表设置的脱敏规则,需要手工针对字段重新设置:

  • 无标签