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

1 概述

  从安全角度上,产品正在逐步完善数据权限控制,避免出现的数据安全性问题。

2  功能说明

1、在系统运维(运维设置) /系统选项/ 高级设置 增加了下面的设置项:

序号选项内容
1RAW_SQL_APPLY_MASKING_RULE

如果在源表设置了脱敏规则,通过原生SQL数据集、SQL查询等方式取数,如果开启了该项,能正常继承到对应的脱敏规则,从而对数据进行脱敏处理;

系统系统默认false,即不开启(不生效);设置成true,则是开启。

2

RAW_SQL_APPLY_ROW_PERMISSIONS

如果在源表设置了行权限,通过原生SQL数据集、SQL查询等方式取数,并且开启了该设置项,能正常继承到源表的行权限,从而控住数据的泄露;

 系统系统默认false,即不开启(不生效);设置成true,则是开启。

3RAW_SQL_APPLY_ROW_PERMISSIONS_CHECK_TABLE

如果在源表设置了资源权限(表或列权限),通过原生SQL数据集、SQL查询等方式取数,如果开启了该项,能正常继承到对应的资源权限,从而对数据进行控制;

原生SQL数据集资源权限;系统系统默认false,即不开启(不生效);设置成true,则是开启。




以上3个全部设置成true才能完全控制表权限、行权限、列权限、脱敏规则生效。

1、以上3个选项需要全部开启,目前是有依赖关系。另外,要将前面的##去掉,如果是集群环境,所有集群节点都重启。

2、开启了这些选项,如果查询没有权限的表或该表在数据库中看不到,登录的用户也是无法查询该表的!


2、以下是关于功能是否控住的说明:

  • 代表能控住,X 代表暂时还不行。
功能项       是否控住
序号类型数据行权限表和列资源权限脱敏规则
3原生SQL数据集
  •  
  •  
  •  
4SQL数据集
  •  
  •  
  •  
5数据模型的SQL查询
  •  
  •  
  •  
6参数的备选值、默认值(SQL查询)

(公共设置的参数+模型参数+模型查询参数+电子表格的参数管理
  •  
  •  
  •  
7用户属性的 SQL【表达式】
  •  
  •  
  •  
8转换规则 的SQL【表达式】
  •  
  •  
  •  
9ETL 的【SQL脚本】XXX
10ETL的【Python脚本】XXX
11作业流的【源库SQL脚本】XXX
12计划任务XXX
13业务主题的业务属性、计算字段XXX
14即席、透视分析的计算字段XXX
15自助数据集的计算字段XXX
16(旧)数据集告警XXX

基于原生SQL查询、SQL数据集等创建的报表也会继承权限限制,在报表层会有相应的提示。


3、目前存在一些限制,以下情况还不兼容: 

1、Select a.* 使用通配符进行查询时,解析器可以从当前 Smartbi 的基础表信息中获取,但是当使用到没有添加到 Smartbi 中的表时,会无法进行判断导致出现问题;并且由于数据库返回的顺序未必与 Smartbi 中记录的顺序必定一致,所以也可能存在错乱的问题

2、多条 SQL 语句: 由于在 SQL 中是可以使用临时表等方式,在多条 SQL 语句下的逻辑会变得非常复杂,目前还没考虑这种场景。

3、复杂 SQL 语句 :只能保证基本语法检测,但是对于部分数据库而言可以拼接字符串后再执行,这种用法也是无法处理的。



  • 无标签