SQL片段文件夹权限
本文介绍了SQL片段文件夹,允许您组织和设置片段的权限。
文件夹权限不应被视为安全功能,而应被视为帮助组织和标准化片段的功能。尽管文件夹与集合不同且独立,但它们都承担组织功能:集合汇集和权限仪表板和问题;文件夹汇集和权限片段。有关更多信息,请参阅下面的权限讨论。
文件夹
文件夹与文件系统类似工作。您可以将代码片段添加到文件夹中,并将文件夹放入其他文件夹中。您可以根据Metabase实例的处理能力或物理定律允许的(哪个先到达)来嵌套尽可能多的文件夹。
顶层文件夹是代码片段侧边栏的默认文件夹。它是包含所有文件夹和代码片段的根文件夹。
创建新的SQL代码片段文件夹
您可以从SQL编辑器中的“代码片段”菜单创建SQL代码片段文件夹。
- 单击“代码片段”菜单图标(代码片段图标看起来像一块带有三个不等粗的横线的文本或代码块)。
- 单击“+”图标,然后选择“新建文件夹”。
- 为您的文件夹命名,并可选地添加描述和/或将文件夹放入现有文件夹中(“此文件夹应位于”选项)。
创建新的SQL代码片段
在某些计划中,创建代码片段时,您还会看到一个额外的选项,可以将该代码片段添加到现有文件夹中(“此文件夹应位于”选项)。
默认位置是顶层文件夹,这是所有代码片段和文件夹的根文件夹。您可以在任何时间将代码片段添加到文件夹中(或重新定位代码片段到另一个文件夹,前提是您有编辑权限)。
请注意,代码片段名称必须唯一;文件夹不影响此要求。
权限
管理员(只有管理员)可以通过将代码片段放入文件夹中,然后授予组针对这些文件夹的三种权限级别来设置代码片段的可见性和可编辑性。如果您熟悉集合权限,功能类似。有关集合和文件夹权限如何一起工作的更多信息,请参阅下面的文件夹权限如何工作。
更改文件夹权限
管理员可以通过单击文件夹旁边的省略号(…),然后选择“更改权限”来设置文件夹的权限。
您还可以通过将鼠标悬停在“代码片段”侧边栏的顶部,单击“+”左侧的省略号(…),然后选择“更改权限”来更改当前选定的文件夹。当在顶层文件夹时,选择侧边栏顶部的…将给管理员设置所有代码片段、文件夹和子文件夹权限的选项。
当更改具有子文件夹的文件夹的权限时,您可以选择通过切换“也更改子文件夹”设置来将这些权限扩展到该文件夹的子文件夹。
文件夹权限选项
更改代码片段文件夹权限有三个选项
- 编辑访问(绿色勾选图标)。默认设置。当创建文件夹时,所有用户(至少有一个数据库的SQL编辑器权限)都可以查看、编辑和存档或取消存档文件夹的代码片段。
- 查看访问(黄色眼睛图标)。具有查看访问权限的组中的用户可以查看文件夹中的代码片段,但不能编辑或存档/取消存档它们。当然,他们可以复制代码片段代码并创建新代码片段,但这不会影响现有的代码片段。
- 撤销访问(红色叉号图标)。没有对片段文件夹进行编辑或查看权限的组用户,将不会在侧边栏中看到该文件夹的片段,也不会有任何片段出现在针对这些用户的类型提示建议中。请注意,如果人们有权访问一个包含片段而他们没有权限的问题,他们仍然能够从该问题中获得结果。请参阅下面对文件夹权限如何工作的讨论。
存档不影响权限
存档或取消存档片段不会影响片段的权限。例如,如果只有一个组,比如会计组,对文件夹有编辑权限,那么只有会计组(和管理员)能够存档和取消存档该文件夹中的片段,因为存档和取消存档被视为编辑片段。
文件夹权限如何工作
与集合权限一样,文件夹权限是累加的,这意味着更宽松的访问权限会覆盖更严格的访问权限。请参阅设置权限以获取更详细的讨论。
但是,片段文件夹权限需要更多努力来解析,因为片段文件夹的权限必须与数据和集合的权限协同工作。
以下是基本规则:数据比代码更敏感,因此应用于数据的权限将优先于应用于代码的权限。让我们通过一个例子来说明这在实践中是如何工作的。
权限示例
考虑以下场景(这里有一句话值得慢慢阅读):一个组可能有权访问一个包含一个使用片段的文件夹中的问题的集合,而这个组没有权限访问该文件夹。换句话说:该组的人有权运行集合中的问题,但没有权限访问集合中某个问题所使用的片段的文件夹。在这种情况下,Metabase将如何解决权限问题?
分为三部分
- 该组的人可以运行问题并获得结果。他们有权查看这些数据(问题结果),因此他们应该能够看到这些数据。该组对集合的权限优先于对文件夹(片段代码)的权限。
- 片段不会显示在片段侧边栏中。然而,尽管该组的人可以无问题地运行问题,但他们仍然没有权限访问该片段的文件夹,因此他们无法在片段侧边栏中看到或编辑该片段(或该片段的文件夹)。
- 即使他们没有权限访问片段的文件夹,知道其名称的人仍然可以使用SQL查询访问片段。他们无法查看或编辑片段,但如果他们知道其名称,可以将它包含在一个查询中,例如:
{{snippet: Example snippet I don't have permissions to but can still use }}
。
由于片段文件夹权限的工作方式,我们建议您将片段文件夹权限视为片段组织的一个额外工具,而不是防止访问片段中包含的SQL代码的方法。使用文件夹权限来保持片段侧边栏整洁,向团队展示与其分析领域相关的文件夹,并将编辑权限限制在组织中重要的片段上,以保持重要的SQL代码准确无误,并防止未经审查的编辑引入的错误。
进一步阅读
阅读其他Metabase版本的文档。