Metabase行级安全问题:URL参数篡改致越权访问数据求助
解决Metabase免费版州级数据访问限制被URL篡改绕过的问题
硬编码过滤器属于前端层面的弱限制,很容易通过修改URL参数绕过,要实现安全的州级数据隔离,必须用Metabase免费版支持的行级权限(Row-Level Security),从后端层面限制数据访问。以下是具体实现步骤:
创建用户组
进入Metabase后台,点击顶部「设置」→「权限」→「用户组」标签,分别创建「卡纳塔克邦用户组」「喀拉拉邦用户组」,并将对应州的用户加入各自组内。配置行级过滤规则
- 在「权限」页面切换到「数据权限」标签,找到你用于生成仪表盘数据的数据源,点击「编辑权限」。
- 针对每个用户组设置数据过滤条件:
- 卡纳塔克邦用户组:添加规则
state = 'Karnataka'(state替换为你数据表中存储州名的实际字段) - 喀拉拉邦用户组:添加规则
state = 'Kerala'
- 卡纳塔克邦用户组:添加规则
- 保存设置后,该数据源会自动为不同用户组过滤对应州的数据。
简化仪表盘配置
无需再给仪表盘硬编码过滤器参数,直接使用不带参数的问题卡片即可。同时在「集合权限」标签中,确保各用户组仅能访问对应仪表盘的集合权限(可选,进一步强化访问隔离)。验证效果
用对应州的用户账号登录,尝试修改URL中的任何参数,都会发现只能看到所属州的数据——因为行级权限是在数据查询阶段做的后端过滤,前端参数篡改无法绕过。
内容的提问来源于stack exchange,提问作者Vivek M
相关产品推荐
相关产品推荐

