写点什么

openGauss- 行级访问控制

作者:Gauss松鼠会
  • 2024-09-02
    陕西
  • 本文字数:678 字

    阅读完需:约 2 分钟

openGauss- 行级访问控制

可获得性

本特性自 openGauss 1.1.0 版本开始引入。

特性简介

行级访问控制特性将数据库访问控制精确到数据表行级别,使数据库达到行级访问控制的能力。不同用户执行相同的 SQL 查询操作,读取到的结果是不同的。

客户价值

不同用户执行相同的 SQL 查询操作,读取到的结果是不同的。

特性描述

用户可以在数据表创建行访问控制(Row Level Security)策略,该策略是指针对特定数据库用户、特定 SQL 操作生效的表达式。当数据库用户对数据表访问时,若 SQL 满足数据表特定的 Row Level Security 策略,在查询优化阶段将满足条件的表达式,按照属性(PERMISSIVE | RESTRICTIVE)类型,通过 AND 或 OR 方式拼接,应用到执行计划上。

行级访问控制的目的是控制表中行级数据可见性,通过在数据表上预定义 Filter,在查询优化阶段将满足条件的表达式应用到执行计划上,影响最终的执行结果。当前受影响的 SQL 语句包括 SELECT、UPDATE、DELETE。

特性增强

无。

特性约束

  • 行级访问控制策略仅可以应用到 SELECT、UPDATE 和 DELETE 操作,不支持应用到 INSERT 和 MERGE 操作。

  • 支持对行存表、行存分区表、列存表、列存分区表、复制表、unlogged 表、hash 表定义行级访问控制策略,不支持外表、临时表定义行级访问控制策略。

  • 不支持对视图定义行级访问控制策略。

  • 同一张表上可以创建多个行级访问控制策略,一张表最多允许创建 100 个行级访问控制策略。

  • 初始用户和系统管理员不受行级访问控制策略的影响。

  • 对于设置了行级访问控制策略的表,需要谨慎授予其他用户对该表的 trigger 权限,以免其他用户利用触发器绕过行级访问控制策略。

依赖关系

无。

详情查看:https://opengauss.org详情查看:https://docs-opengauss.osinfra.cn

用户头像

还未添加个人签名 2022-12-09 加入

还未添加个人简介

评论

发布
暂无评论
openGauss- 行级访问控制_opengauss_Gauss松鼠会_InfoQ写作社区