云数据库 GAUSSDB-CREATE ROW LEVEL SECURITY POLICY:参数说明
参数说明
- policy_name
行访问控制策略名称,同一个数据表上行访问控制策略名称不能相同。
- table_name
行访问控制策略的表名。
- PERMISSIVE | RESTRICTIVE
PERMISSIVE指定行访问控制策略为宽容性策略,宽容性策略的条件用OR表达式拼接。
RESTRICTIVE指定行访问控制策略为限制性策略,限制性策略的条件用AND表达式拼接。拼接方式如下:
(using_expression_permissive_1 OR using_expression_permissive_2 ...) AND (using_expression_restrictive_1 AND using_expression_restrictive_2 ...)
缺省值为PERMISSIVE。
- command
当前行访问控制影响的SQL操作,可指定操作包括:ALL、SELECT、UPDATE、DELETE。当未指定时,ALL为默认值,涵盖SELECT、UPDATE、DELETE操作。
当command为SELECT时,SELECT类操作受行访问控制的影响,只能查看到满足条件(using_expression返回值为TRUE)的元组数据,受影响的操作包括SELECT,SELECT FOR UPDATE/SHARE,UPDATE ... RETURNING,DELETE ... RETURNING。
当command为UPDATE时,UPDATE类操作受行访问控制的影响,只能更新满足条件(using_expression返回值为TRUE)的元组数据,受影响的操作包括UPDATE, UPDATE ... RETURNING, SELECT ... FOR UPDATE/SHARE。
当command为DELETE时,DELETE类操作受行访问控制的影响,只能删除满足条件(using_expression返回值为TRUE)的元组数据,受影响的操作包括DELETE, DELETE ... RETURNING。
行访问控制策略与适配的SQL语法关系参见下表:
表1 ROW LEVEL SECURITY策略与适配SQL语法关系 Command
SELECT/ALL policy
UPDATE/ALL policy
DELETE/ALL policy
SELECT
Existing row
No
No
SELECT FOR UPDATE/SHARE
Existing row
Existing row
No
UPDATE
No
Existing row
No
UPDATE RETURNING
Existing row
Existing row
No
DELETE
No
No
Existing row
DELETE RETURNING
Existing row
No
Existing row
- role_name
行访问控制影响的数据库用户。
CURRENT_USER表示当前执行环境的用户名;SESSION_USER则表示会话用户名;当未指定时,PUBLIC为默认值,PUBLIC表示影响所有数据库用户,可以指定多个受影响的数据库用户。
系统管理员不受行访问控制特性影响。
- Debian-Security镜像下载
- GaussDB华为部署_高斯数据库_高斯数据库华为部署_华为云
- DWS安全_数据仓库服务安全_DWS数据安全管理_DWS安全保障_DWS安全策略
- GaussDB查询数据表_GaussDB查看数据库连接数_高斯数据库查询数据表-华为云
- GaussDB行转列_数据中台架构pdf_高斯数据库行转列_华为云
- GaussDB支持的函数_GaussDB函数类型解析_高斯数据库支持的函数-华为云
- GaussDB函数_GaussDB数据库函数_高斯数据库函数_华为云
- 华为云数据库 RDS for MySQL常见故障排除_华为云
- 云数据库专题
- 云数据库 GeminiDB系统架构_免费试用云数据库