代码片段文件夹权限

代码片段控件仅在专业版企业版计划(包括自托管和 Metabase Cloud)中可用。

本文介绍代码片段文件夹,它允许您组织和设置代码片段的权限。

文件夹权限不应被视为安全功能,而是一个帮助组织和标准化代码片段的功能。尽管文件夹与集合(Collections)不同且相互独立,但它们都具有组织功能:集合用于收集和授权仪表盘和问题;文件夹用于收集和授权代码片段。更多信息,请参阅下面关于权限的讨论

文件夹

文件夹的工作方式类似于文件系统。您可以将代码片段添加到文件夹中,并将文件夹放入其他文件夹中。您可以嵌套任意数量的文件夹,直到您的 Metabase 实例或物理定律所能承受的极限(以先达到者为准)。

顶级文件夹是代码片段侧边栏的默认文件夹。它是包含所有文件夹和代码片段的根文件夹。

创建一个新的代码片段文件夹

您可以在SQL 编辑器代码片段菜单中创建一个代码片段文件夹。

Create new snippet folder

  1. 点击代码片段菜单图标(该图标看起来像一个由三条不均匀水平线组成的文本或代码块)。
  2. 点击 + 图标并选择新建文件夹
  3. 为您的文件夹命名,并可选地添加描述和/或将文件夹放入现有文件夹中(此文件夹应位于选项)。

Create new folder modal

创建一个新的代码片段

某些计划中,创建代码片段时,您还会看到一个额外的选项,可以将该代码片段添加到现有文件夹中(此文件夹应位于选项)。

Add a snippet enterprise modal

默认位置是顶级文件夹,它是所有代码片段和文件夹的根文件夹。您可以随时将代码片段添加到文件夹中(或者将代码片段移动到另一个文件夹,前提是您对这两个文件夹都有编辑权限)。

请注意,代码片段名称必须是唯一的;文件夹不会影响此要求。

权限

管理员(且仅限管理员)可以通过将代码片段放入文件夹中,然后为群组授予针对这些文件夹的三种权限级别之一,来设置代码片段的可见性和可编辑性。如果您熟悉集合权限,其功能类似。关于集合和文件夹权限如何协同工作的更多信息,请参阅下面的文件夹权限如何工作

更改文件夹的权限

管理员可以通过点击文件夹旁边的省略号 () 并选择更改权限来设置文件夹的权限。

您还可以通过将鼠标悬停在代码片段侧边栏的顶部,点击 + 左侧的省略号 (),然后选择更改权限来更改当前选定的文件夹。当在顶级文件夹时,选择侧边栏顶部的 将为管理员提供设置所有代码片段、文件夹和子文件夹权限的选项。

当更改包含子文件夹的文件夹权限时,您可以通过切换同时更改子文件夹设置来将这些权限扩展到该文件夹的子文件夹。

文件夹权限的选项

Change permissions

更改代码片段文件夹权限有三个选项

  • 编辑权限(绿色对勾图标)。默认设置。创建文件夹时,所有用户(至少对一个数据库拥有 SQL 编辑器权限)都可以查看、编辑以及归档或取消归档该文件夹的代码片段。
  • 查看权限(黄色眼睛图标)。拥有查看权限的群组中的用户可以查看文件夹中的代码片段,但不能编辑或归档/取消归档它们。当然,他们可以复制代码片段的代码并创建新的代码片段,而不会影响现有的代码片段。
  • 撤销权限(红色 X 图标)。对某个代码片段文件夹既没有编辑权限也没有查看权限的群组中的用户,将不会在侧边栏中看到该文件夹的代码片段,该文件夹中的任何代码片段也不会出现在这些用户的输入建议中。请注意,如果人们有权访问一个包含他们没有权限的代码片段的问题,他们仍然可以从该问题中获取结果。请参阅下面关于文件夹权限如何工作的讨论。

归档不影响权限

归档或取消归档代码片段不会影响代码片段的权限。例如,如果只有一个群组(比如说会计组)对某个文件夹有编辑权限,那么只有会计组的人员(以及管理员)才能归档和取消归档该文件夹中的代码片段,因为归档和取消归档被视为编辑代码片段。

文件夹权限如何工作

与集合权限一样,文件夹权限是附加的,这意味着更宽松的访问权限会覆盖限制性更强的访问权限。有关更详细的讨论,请参阅设置权限

但是,代码片段文件夹权限需要更多的解释,因为代码片段文件夹的权限必须与数据和集合的权限协同工作。

基本规则是:数据比代码更敏感,因此适用于数据的权限将优先于适用于代码的权限。让我们通过一个例子来说明这在实践中是如何运作的。

权限示例

考虑以下场景(这句话值得慢慢读):一个群组可能拥有对某个集合的权限,该集合包含一个使用了某个代码片段的问题,而这个代码片段位于该群组没有权限的文件夹中。换句话说:该群组的人员有权运行集合中的问题,但他们没有权限访问包含集合中某个问题所用代码片段的文件夹。Metabase 将如何在这种情况下处理权限?

分为三个部分

  1. 该群组的人员可以运行问题并获取结果。他们有权查看该数据(问题结果),所以他们应该能够看到该数据。群组对集合的权限优先于对文件夹(代码片段代码)的权限。
  2. 该代码片段不会显示在代码片段侧边栏中。然而,尽管该群组的人员可以毫无问题地运行问题,但他们仍然没有该代码片段所在文件夹的权限,因此他们无法在代码片段侧边栏中看到或编辑该代码片段(或其文件夹)。
  3. 拥有 SQL 查询权限的人员,如果知道代码片段的名称,仍然可以运行它,无论他们是否拥有该代码片段所在文件夹的权限。他们无法查看或编辑该代码片段,但如果他们知道它的名称,就可以在查询中包含它,例如 {{snippet: 我没有权限但仍可使用的示例代码片段}}

由于代码片段文件夹权限的工作方式,我们建议您将代码片段文件夹权限视为组织代码片段的附加工具,而不是阻止访问这些代码片段所含 SQL 代码的方法。使用文件夹权限,通过向团队展示与其分析领域相关的文件夹来保持代码片段侧边栏的整洁,并限制对组织中关键代码片段的编辑权限,以保持重要 SQL 代码的准确性和安全性,防止未经审查的编辑引入错误。

延伸阅读

阅读其他版本的 Metabase 的文档。

这有帮助吗?

感谢您的反馈!
想要改进这些文档吗?提出更改建议。
© . This site is unofficial and not affiliated with Metabase, Inc.