页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

为了更好的理解,SQL查询 中如何控制表权限、列权限、行权限、脱敏规则,写了几个示例进行说明。

信息

1、3个选项必须要开启:

## 原生SQL数据集数据权限
## 原生SQL数据集数据权限 ,系统默认值false
RAW_SQL_APPLY_ROW_PERMISSIONS=true

## 原生SQL数据集资源权限
## 原生SQL数据集资源权限,系统默认值false
RAW_SQL_APPLY_ROW_PERMISSIONS_CHECK_TABLE=true


## 原生SQL数据集脱敏规则
## 原生SQL数据集脱敏规则,系统默认值false
RAW_SQL_APPLY_MASKING_RULE=true


2、具体设置项说明:可查看2、设置项具体说明:可查看SQL查询/数据集支持权限控制

3、更改了设置项值,需要重新启动服务器才能生效。


为了方便讲解示例,先创建一个用户:VerifyUser 为了方便说明示例,先创建一个用户:VerifyUser 密码是1 ,角色:VeriyRole,再给VerifyUser 分配了角色:VeriyRole;如何创建用户、角色可查看:用户管理

设置操作权限:


1 表权限:某个"表"没有查看、引用权限示例

信息

如果登录的用户,表没有加载在 "数据库管理”  中,在SQL查询中执行时也会提示:没有权限。


1、创建了一个演示使用的northwind 库,并通过"数据库管理” ,选择”products“、”categories“、”orders“、”orderdetails“

...

2、使用admin(有权限的账号,这里为了演示说明用admin) 账号,给”products“设置资源授权;打开资源授权页面可以看到直接从父节点继承了权限,有一个EveryOne的角色,需要把它删除掉,删除操作方式如下:;打开资源授权页面可以看到直接从父节点继承了权限,有一个EveryOne的角色,需要把它删除掉,删除操作方式如下:

删除掉的效果,确保VerifyUser 或VeriyRole不在里面,即VerifyUser 、VeriyRole角色对”products“没有引用、查看权限:

删除掉的效果,确保VerifyUser 或VeriyRole不在里面,即VerifyUser 、VeriyRole角色对”products“没有引用、查看权限:

3、确认好权限之后,使用VerifyUser 用户登录,并去创建数据模型,添加 SQL查询,在SQL查询中,查询”products“表:

...

1、基于示例1 添加的”categories“表,通过表的设置资源授权,确认”VerifyUser“用户否有引用、查看权限:,确认VerifyUser 用户否有引用、查看权限:

表有权限之后,再确认”categoryName“字段是否有引用、查看权限,如果有的话要把”VerifyUser“从列表中删除:

表有权限之后,再确认”categoryName“字段是否有引用、查看权限,如果有的话要把 VerifyUser 从列表中删除:

2、确认好权限之后,使用2、确认好权限之后,使用 VerifyUser 用户登录,使用去创建数据模型,添加 SQL查询,在SQL查询中查询”categories“表:

...

  创建脱敏规则,需要选择数据源下面”Quantity“字段,设置脱敏算法为:*;并且应用范围,设置为用户 VerifyUser 适用于此范围,保存。

2、创建好脱敏规则之后,使用之后,使用 VerifyUser 用户登录,使用去创建数据模型,添加 SQL查询,在SQL查询中查询”orderdetails”表

...