大数据智能体工作台 DataBuddy 行级权限控制(Row Filter)

行级权限控制(Row Filter)允许你在数据表详情页对单张表配置行过滤规则,按授权主体(用户、用户组)声明 WHERE 过滤表达式,限制不同主体在同一张表中可见的行范围。配置后,受控表的查询请求在所有 SQL、Notebook、仪表盘等鉴权场景下都会自动追加对应的过滤条件,仅返回满足条件的行。

相关产品
大数据智能体工作台 DataBuddy 产品页,含版本规格、价格与购买入口。

一、概述

典型场景:一张包含全国订单的事实表中,希望华南区运营人员只能看到 region = 'south' 的订单,华北区运营人员只能看到 region = 'north' 的订单,运营总监能看到全部行——可以通过为不同用户组分别添加行过滤表达式实现。

二、前提条件

在开始本操作前,请确保满足以下条件:

·已开通 DataBuddy 服务并完成空间初始化。

·当前账号在目标表上拥有 授权(Grant) 权限(即在「+ 授权」按钮上具备权限),权限语义详见 成员与权限管理。

·已确定行过滤的授权对象(用户、用户组),用户组在工作空间内已创建完毕。

三、使用限制

限制项 说明
适用对象 行级权限规则按表配置,作用于该表。
授权主体类型 支持 用户 与 用户组 ;同一主体出现在用户层与用户组层时,权限范围取并集。
表达式格式 行过滤表达式为标准 SQL WHERE 子句片段,例如 year > 2010 AND country != 'US'。
表达式长度 单条行过滤表达式最大长度为 2000 字符 。
规则数量 单张表可配置的行权限规则数量无硬上限。
校验项 表达式支持一键校验,包括字段是否存在、逻辑、语法等基础检查;校验失败需修正后才能保存。
Schema 变更行为 当行过滤表达式引用的字段在表 Schema 中被重命名或删除后,相关行权限规则自动失效 ;需重新编辑表达式才能恢复行权限管控。
用户组成员变更 用户组成员新增 / 移除后,已经在执行中的查询不会实时切换 可见行集合;变更对后续新发起的查询生效。
权限继承 行权限 Tab 的可见性继承表详情页的 权限 Tab 可见性;+ 授权 > 行权限 按钮的可点击性继承 + 授权 按钮本身的权限。
配套能力范围 列权限、ABAC 策略、动态视图等高级安全能力当前版本暂未对外开放 ,将在后续版本中逐步上线。

四、步骤 1:进入数据表详情页

1. 登录 DataBuddy 控制台。

2. 在顶部切换到目标地域和 Workspace。

3. 在左侧导航栏选择 数据目录 。

4. 在 Catalog → Schema 中找到目标表,进入其详情页。

五、步骤 2:进入行权限管理面板

1. 点击“授权”按钮,下拉中会出现 数据表权限 与 行权限 两项。

2. 点击 行权限 ,进入该表的行权限配置面板。

六、步骤 3:添加行权限规则

1. 在行权限管理面板点击 + 授权 > 行权限 ,进入行级权限配置界面。

2. 选择 授权对象 :在「用户」「用户组」之间切换,支持模糊搜索,可多选、全选。

3. 输入 行过滤表达式 :填写 WHERE 子句片段,例如 year > 2010 AND country != 'US'。

4. 先选择计算资源,然后点击 校验 验证表达式是否合法(涵盖字段是否存在、逻辑与语法)。校验未通过时按提示修正后再保存。

5. 校验通过后点击确定 保存。

注意:说明:

注意:对同一张表为多个授权主体添加规则时,配置面板会按用户、用户组明细各保存一条;后续编辑、移除均针对单条记录单独操作。

七、步骤 4:编辑或移除行权限规则

1. 在行权限列表中定位到目标记录。

2. 点击 编辑 修改行过滤表达式,修改后再次校验并保存。

3. 点击 移除 后,在弹窗中确认删除;确认后该条规则立即失效。

八、参数说明

参数 说明 是否必填 默认值 取值范围
授权对象 选择行规则作用的主体,可在「用户」「用户组」之间切换,支持模糊搜索、多选与全选。 是 – 当前工作空间内已存在的用户 / 用户组
行过滤表达式 标准 SQL WHERE 子句片段。引用的字段必须为该表的真实字段。最大长度 2000 字符。 是 – 例如 region = 'south'、year > 2010 AND country != 'US'

九、验证结果

操作完成后,你可以通过以下方式确认:

1. 在表详情页 行权限 面板列表中,可以看到刚保存的规则;授权主体、主体类型与表达式均显示正确。

2. 使用对应主体的账号在 Studio 中执行 SELECT * FROM <表名>,返回的行集合仅包含表达式条件成立的行。

3. 切换到未配置行权限的主体(且具有表查询权限),仍可查询全部行;该机制保证仅显式配置过规则的主体被收敛访问范围。

十、Q:同一个用户既属于一个用户组、又被单独授予行权限,最终能看到哪些行?

A:取所有规则的并集。例如用户组规则为 region = 'south'、用户规则为 vip = true,该用户最终可见的行是「region = 'south' 或 vip = true」的所有记录。

十一、Q:行过滤表达式支持哪些语法?

A:使用标准 SQL WHERE 子句片段。可使用比较运算符(= != > < >= <=)、逻辑运算符(AND OR NOT)、IN 列表、BETWEEN、LIKE 等常见语法。具体函数和算子的支持范围以底层引擎实际能力为准,建议在编辑时使用 校验 功能验证表达式是否合法。

十二、Q:删除某条行权限规则会立刻生效吗?

A:移除后立即对后续查询生效。已经在执行中的查询不会被强制中断。

十三、Q:行级权限对哪些查询入口生效?

A:完成行过滤器配置后,受控表会按行过滤表达式逻辑控制行可见性,作用于所有需要鉴权的 SQL 查询场景(包括 Studio SQL、Notebook、仪表盘、工作流中的 SQL 任务等)。

十四、相关文档

·列级权限控制

·成员与权限管理

赞 (0)
上一篇 4天前
下一篇 4天前