1 概述
数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。
脱敏规则是涉及数据安全的,和数据行权限一样,越底层越优先,如数据源上给表字段身份证设置了脱敏规则A,在数据模型上给此字段设置脱敏规则B,系统依然会用脱敏规则A,避免用户钻漏洞,同样基于身份证的计算字段等都会是脱敏的,都是为了避免安全漏洞。
1、脱敏规则支持 字符串、数值 字段脱敏,暂不支持 日期 字段进行脱敏。
2、字符串、数值字段如果设置了脱敏规则,再使用该字段去做二次计算比如:计算度量、新建计算列、新建计算字段、新建命名集、新建计算成员等构建的新字段,都会继承脱敏规则,使用***显示。
3、重建索引过程中,如果正在新建修改脱敏规则,会提示 索引正在重建中,请稍后再操作。
4、数据集抽取 : 抽取后,预览数据会根据脱敏规则进行脱敏,但是存储在高速缓存库中的数据是不脱敏的。
5、在数据模型中设置了 度量 比如销售额 的脱敏规则,在维度中的销售额 没有设置脱敏规则,在查询清单时,不会继承 度量 销售额的脱敏规则。
6、数值区间脱敏,在仪表盘导出数据时,目前暂时不支持导出显示值。
7、数值脱敏,每次清空缓存会根据算法重新计算,即清空缓存之后脱敏会的数据会改变。
8、字段设置了脱敏,如果字段切换成计数、唯一计数,则不使用脱敏规则(由于原先的业务含义改变了)。
2 操作说明
2.1 功能入口
通过“新建脱敏规则”,或者打开已定制的脱敏规则,都可以打开“脱敏规则”设置界面。
入口:运维设置 / 全局资源定义/ 脱敏规则/ 右键菜单/ 新建/ 脱敏规则:
2.2 界面介绍
各设置项说明如下:
设置项 | 说明 |
---|---|
算法名称 | 输入脱敏规则名称。 |
算法别名 | 输入脱敏规则别名。 |
脱敏类型 | 支持 字符串、数值型字段脱敏。 |
脱敏字段 | 选择进行脱敏的字段。
|
脱敏算法 | 1、字符串字段支持:
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的方式)都不会继承源表设置的脱敏规则,需要手工针对字段重新设置: