如何配置数 据表的行权限
介绍
行级权限控制(Row-Level Security,RLS)是数据访问控制的重要机制之一,AskTable 允许用户基于特定条件访问数据库表中的部分数据。通过定义行过滤规则,可以确保用户只能访问符合条件的数据。
在 AskTable 中,行权限规则通过策略中的 rows_filters
配置来定义。本文将介绍如何编写行过滤规则表达式,以便正确配置数据表的行权限。
行过滤规则的基本格式
行过滤规则遵循以下格式:
<schema_name>.<table_name>.<field_name> <expression>
schema_name
:数据库 Schema(DB),可使用*
进行通配。Excel/CSV 使用文件名作为schema_name
。table_name
:数据库表名,可使用*
进行通配。Excel 使用 Sheet 名作为table_name
。field_name
:用于筛选行的字段名。expression
:条件表达式,定义用户访问数据的约束。
示例:
db1.users.user_id = {{user_id}}
表示用户只能访问 db1.users
表中 user_id
等于其自身 ID 的行。