(本文档仅供参考)
现象一:用户通过SQL原生数据集查询知识库表时,提示:表不存在或没有使用权限,t_user_role无法查,t_user可以,且两张表都没有添加到数据源上
现象二:admin账户登录,查询知识库中的t_restree表,提示表不存在或没有权限使用,且只有该表存在此问题,其他表都可以查到。
现象三:admin账户登录,查询数据源中存在的表,提示表不存在或没有权限使用。
在V10.5.15及以上版本中支持对原生sql进行权限控制,配置入口和配置项使用说明参考:SQL查询/数据集支持权限控制
开启了选项后,如果查询没有权限的表或该表在数据库中看不到,登录的用户也是无法查询该表的。
针对上述现象说明如下:
现象一,t_user_role、t_restree表等其它知识库报表没有被内置资源用到,受此配置项的权限控制。
现象二,t_user、t_role、t_group_user、t_group、t_operationlog_type、t_timeconsuming_history、t_timeconsuming、t_ext_reporthot和t_ext_reporthot 这些表都是系统内置报表和参数用的表,因此不受此权限控制。
现象三,对于查询业务库表提示无权限的,需要将对应要查询的表添加到数据源中才可。
如若是报表已经添加进来还是有此提示,请检查对应的权限是是否已授予。
有以下处理建议:
1、不希望进行此权限检测,可以通过关闭【系统选项】-【高级设置】的原生SQL数据集相关权限校验功能即可。
2、希望保留权限控制的情况下可以正常查询:
①对于需要查询的业务库的表,可将需要查询的表添加到数据源中即可。
②对于需要查询的知识库的表,因内置的知识库数据源无法编辑,因此建议新建数据源连接知识库,将需要查询的表添加到该数据源中,再基于该数据源查询。