数据权限故障排除

如果某人对问题或查询返回的数据具有错误的访问级别,您需要从最精细的级别开始排查不同级别的数据权限。

行和列权限

原生查询 (SQL) 权限

表或模式权限

用户组无法访问 SQL 编辑器

  1. 通过禁用浏览器扩展并刷新浏览器来确保脚本正在加载。
  2. 前往管理 > 权限并选择相关组。
  3. 找到您要授予 SQL 访问权限的数据库。
  4. 查看数据下拉菜单中,选择可查看
  5. 创建查询下拉菜单中,选择查询构建器和原生
  6. 检查访问问题是否已解决.

有关不同类型数据库权限的更多信息,请查阅我们权限文档中关于数据访问的部分。

用户组对表或模式的访问权限不正确

  1. 前往管理 > 人员,检查此人是否属于权限冲突的多个组。
  2. 如果此人属于多个组
    • 将此人从权限更广的组中移除,或
    • 前往管理 > 权限并更改数据访问权限类型。
  3. 检查访问问题是否已解决.

说明

如果某人是多个组的成员,Metabase 将授予其在所有所属组中最宽松的访问级别。

例如,如果某人是两个组的成员——其中一个组授予对数据库或表的“[查看数据]”权限为“可查看”,另一个组授予对该数据库的“已阻止”权限——那么此人将能够查看数据。

请记住,每个人都是所有用户组的成员。我们建议您撤销所有用户组的权限,并创建新组以选择性地将权限应用于您的数据源。

用户组可以查看包含受限数据的集合

此功能仅适用于 专业版企业版 计划(包括自托管和 Metabase 云版)。

  1. 前往管理 > 权限并选择用户组。
  2. 选择您要限制的数据库或表。
  3. 查看数据权限设置为已阻止,然后点击保存
  4. 检查访问问题是否已解决.

说明

如果您已授予一个组对某个数据库或表的“可查看”数据访问权限,那么只要已保存的问题和仪表板存储在他们有权访问的集合中,他们就可以查看这些问题和仪表板。

阻止数据权限适用于 Metabase 专业版和企业版。如果您阻止一个组访问某个数据库,则该组的成员将无法查看该数据库中的任何数据,无论他们的集合权限如何。

收到“权限拒绝”错误消息

如果您收到类似“permission denied to <您的表>”的错误消息,您需要检查 Metabase 应用程序是否具有查询您的数据库的正确权限。

  1. 前往 SQL 编辑器,对相关表或模式运行一个基本查询。
    SELECT 1
    FROM <your table>;
    
  2. 获取 Metabase 用于连接数据库的凭据。如果您不确定这些凭据是什么,请咨询您的数据库管理员。
  3. 使用其他应用程序(例如您的 CLI 或数据库 IDE),使用 Metabase 连接该数据库所用的相同凭据连接到您的数据库,并运行步骤 1 中的查询。
  4. 如果在步骤 1 和 3 中都无法访问表或模式,请要求您的数据库管理员:
  5. 检查访问问题是否已解决.

说明

您的数据库有自己的一套权限,为每个登录的人员(或应用程序)配置。

数据库权限在数据库连接层面应用, Metabase 中应用数据和集合权限之前

这意味着在数据库端配置的设置可能会阻止 Metabase 连接到某些模式或表,无论您在 Metabase 端设置了什么。

检查某人对表或模式的访问权限

  1. 打开一个无痕浏览器窗口。
  2. 以相关人员的身份登录 Metabase。
  3. 运行问题、仪表板或原生查询,以确认此人可以看到他们应该看到的数据。

您有其他问题吗?

您仍然遇到问题吗?

如果您无法使用故障排除指南解决问题

阅读其他 Metabase 版本的文档。

© . All rights reserved.