数据权限指南
了解 Metabase 如何通过在 Metabase 附带的示例数据库上设置权限来处理数据权限。
数据权限指定不同人群组如何与表格和数据库交互。
对于每个数据库、架构和表格,您可以指定
- 谁可以看到问题的结果;
- 谁可以创建新问题(以及如何创建);
- 谁可以下载结果;
- 谁可以编辑元数据。
在本文中,我们将逐步介绍一个示例,说明如何授予人们查看问题结果的权限,并根据示例数据库中的表格创建新问题。
数据权限简介
让我们首先导航到管理 > 权限,然后选择数据库 > 示例数据库。这将带我们进入数据库级别的数据权限页面。如果要配置示例数据库中每个表格的权限,可以单击左侧的表格名称。
数据权限必须为组配置。 Metabase 带有两个默认组:管理员和所有用户。我们将创建两个新的示例组,分别名为“独木舟”和“帆船”,并设置数据权限以
- 调整所有用户的默认权限设置:默认情况下,所有用户都无法创建新问题
- 授予“独木舟”组基于
Orders
表仅在查询构建器中创建问题的权限。 - 授予“帆船”组基于
People
和Products
表仅在查询构建器中创建问题的权限。
为“所有用户”组配置查询权限
首先,我们将确认“所有用户”对数据库的创建查询权限,因为 Metabase 授予某人所属的所有组中最宽松的访问级别。
您无法从“所有用户”组中删除任何人,因此,如果您为“所有用户”授予示例数据库的查询构建器和原生权限,那么对于使用 Metabase 的每个人来说,这始终是最宽松的设置,而与您将人员放入的任何其他组无关。
- 转到管理 > 权限 > 数据库 > 示例数据库。
- 单击所有用户行和创建查询列的下拉菜单。
- 确认它设置为否(或将其设置为“否”)。
- 单击顶部出现的横幅中的保存更改。
为“所有用户”选择否示例数据库将
-
阻止“所有用户”在数据浏览器中看到示例数据库中的任何数据。
-
阻止“所有用户”从示例数据库中的数据创建问题(同时使用查询构建器和 SQL)。
为“所有用户”组配置查看数据权限
“所有用户”组在示例数据库上将查看数据设置为“可以查看”权限。“可以查看”意味着“所有用户”将能够查看结果,以查看与您的“所有用户”组的集合权限匹配的集合中的问题和仪表盘。如果您撤销了查询权限,“所有用户”将无法查看底层数据。
我们将保持这些权限不变。
创建用户组
让我们创建两个新组,分别命名为“独木舟”和“帆船”。
- 转到管理 > 人员。
- 选择组选项卡。
- 单击创建组并将其命名为“独木舟”。
重复创建组“帆船”。有关更多详细信息,请参见创建组。
查看默认数据权限
转到管理 > 权限 > 数据库,然后选择示例数据库以查看我们的新组
新组默认设置为无创建查询的权限,因为“所有用户”具有无权限。这使我们可以有选择地向每个组添加权限。
对于“独木舟”和“帆船”组,我们希望
-
阻止“独木舟”和“帆船”组中的人员在数据浏览器中查看任何示例数据库表格。
-
阻止“独木舟”和“帆船”组中的人员使用查询构建器基于示例数据库表格创建问题。
-
继续允许“独木舟”和“帆船”组中的人员查看基于示例数据库表格构建的问题的结果,前提是这些问题保存在与给定组的集合权限匹配的集合中。
为用户组配置查询权限
要授予“独木舟”组仅基于 Orders
表在查询构建器中创建问题的权限
- 转到管理 > 权限 > 组。
- 选择独木舟组。
- 单击示例数据库。
- 在创建查询列的订单行中,从下拉菜单中选择仅查询构建器。
- 单击保存更改。
- 在出现的模式对话框中,查看权限更改的效果:“独木舟”组将具有示例数据库的精细查询创建权限。单击更改以确认。
您会注意到,您只能在表格上选择仅查询构建器权限,而不能选择查询构建器和原生。如果要允许人们创建原生查询(例如,在 SQL 中),则需要在数据库级别而不是表格级别指定它。 Metabase 不会解析您的 SQL,因此它不会知道查询中使用了哪些表格,因此它无法限制对特定表格的访问。
如果您返回“独木舟”组的“示例数据库”权限,您将被带到组级别的数据权限页面。从那里,您将看到 Metabase 在“示例数据库”的创建查询列下自动填充黄色精细权限。 精细权限表示“独木舟”组现在有权访问示例数据库中的某些表格,但并非所有表格。
让我们为“帆船”组配置另一组数据权限,以授予“帆船”组对示例数据库中 People
和 Products
表格的仅查询构建器权限
以下是我们当前数据权限的作用
表格的查看数据
组 \ 表格 | 所有用户 | 独木舟 | 帆船 |
---|---|---|---|
订单 | |||
人员 | |||
产品 |
基于表格在查询构建器中创建查询
表格 \ 组 | 所有用户 | 独木舟 | 帆船 |
---|---|---|---|
订单 | |||
人员 | |||
产品 |
为多个组中的用户配置权限
假设 Captain 先生同时属于“独木舟”组和“帆船”组。
他有三组创建查询权限,这些权限来自三个不同的组
- 来自“所有用户”组的示例数据库的无查询权限。
- 来自“独木舟”组的
Orders
表格的仅查询构建器权限。 - 来自“帆船”组的
People
和Products
表格的仅查询构建器权限。
由于 Metabase 在所有组中应用最宽松的设置,因此 Captain 先生将对 Orders
、People
和 Products
表格具有“创建查询:仅查询构建器”权限。对这三个表格的“仅查询构建器”权限意味着 Captain 先生将能够
- 在数据浏览器中查看
Orders
、People
和Products
表格 - 使用
Orders
、People
或Products
的任意组合在查询构建器中创建问题。 - 向下钻取和操作其他人的查询构建器问题,这些问题使用
Orders
、People
或Products
,只要这些问题保存在与他的集合权限匹配的集合中。
Captain 先生不属于任何对 Reviews
表格或示例数据库具有“创建查询”权限的组,这将
- 阻止他使用
Reviews
表格创建问题。 - 阻止他完全与原生查询编辑器进行交互(例如,查看、编辑或编写 SQL 查询)。
由于 Captain 先生也是“所有用户”组的成员,并且具有示例数据库的可以查看权限,因此他仍然能够查看使用 Reviews
表格或原生查询编辑器构建的问题的结果,只要他具有正确的集合权限。
更多数据权限选项
* 仅在Pro 和企业版计划中可用。
进一步阅读
下一步:使用集合权限
设置具有权限的集合,以帮助人们组织和共享与其相关的工作。