数据权限故障排除

如果一个人对由问题或查询返回的数据访问级别不正确,您需要从最细粒度开始,对不同级别的数据权限进行故障排除。

行和列权限

原生查询(SQL)权限

表或模式权限

用户组无法访问SQL编辑器

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

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

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

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

说明

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

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

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

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

此功能仅在专业版企业版计划(包括自托管和Metabase Cloud)中可用。

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

说明

如果您已授予组对数据库或表的“可查看”的查看数据访问权限,人们可以查看基于该数据库的保存问题和仪表板,只要这些问题和仪表板存储在他们可以访问的集合中。

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

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

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

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

说明

您的数据库为每个登录(或应用程序)的人员(或应用程序)都有自己的权限集。

数据库权限适用于数据库连接级别,在 Metabase 应用数据收集权限之前。

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

检查某人访问表或模式的情况

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

您有不同的问题吗?

您仍然遇到问题吗?

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

阅读其他 Metabase 版本 的文档。

想改进这些文档吗? 提出更改。