数据沙盒:个性化人们在 Metabase 中可以看到的数据

将沙盒与用户属性配对,以针对几乎任何情况自定义数据。

在多租户环境中管理权限

如果您正在嵌入 Metabase 用于多租户自助分析,您可以使用沙盒来确保租户 A 无法看到租户 B 的数据,反之亦然。

沙盒非常适合管理复杂组织结构的权限,即使您只有一个客户。例如,如果您的客户是一所大学,该大学可能需要为不同组设置不同的权限

  • 管理员应该能够查看所有学生的数据。
  • 学生应该只能查看他们自己的数据,而不是其他学生的数据。
  • 教授应该能够查看多名学生(他们所教的学生)的数据,但不能查看所有学生的数据。

在这种情况下,您将为管理员、学生和教授创建单独的,然后将这些组分配到数据沙盒。然后,您将配置每个沙盒,以自动向每个组显示不同的行或列集。

您的沙盒设置将略有不同,具体取决于您的租户数据是否混合到一个架构中——您可以使用我们的多租户权限文章比较这些选项。

如果您准备好自己尝试沙盒,请查看数据沙盒示例,或者查阅数据沙盒文档

限制仪表板订阅中的电子邮件收件人列表

我们社区的一些成员使用沙盒来锁定 Metabase 中的电子邮件地址。创建仪表板订阅时,沙盒组中的人员将只在收件人列表中看到他们自己的电子邮件地址。

假设您有一组教授需要向其各自的学生发送仪表板订阅电子邮件。如果您将学生组放入沙盒中,您将自动阻止学生

  • 向其教授发送订阅电子邮件。
  • 查看其他学生的电子邮件地址。

如果您只想限制电子邮件列表而不必向某个组隐藏任何行或列,请使用自定义沙盒并将该自定义沙盒的 SQL 问题设置为 SELECT * FROM table

选择性地授予敏感数据访问权限

如果您处理敏感信息,如财务或医疗数据,您可以使用沙盒来

  • 让特定团队根据需要查看敏感数据。
  • 对其他所有人隐藏敏感数据。

例如,假设您从事远程医疗工作,并且您有一个“患者聊天”表,它以以下模式记录护士和远程医疗患者之间的互动

护士 ID 开始时间 结束时间 转录

为确保护士可以查看其自己聊天的完整记录(包括转录列),但不能查看其他护士的聊天记录

  • 创建一个带有“护士 ID”用户属性的护士组,并将您的护士添加到该组。
  • 护士组和患者聊天表设置一个基本沙盒,以便护士只能看到与其护士 ID 匹配的行。

然后,为限制聊天表的列,以便公司中所有其他人都可以看到聊天的护士 ID开始时间结束时间,但不能看到敏感的转录

  • 创建一个非护士组,并将非护士员工添加到该组。
  • 非护士组和患者聊天表设置一个自定义沙盒,以隐藏敏感的转录列。

向不同组显示自定义数据格式

沙盒的一个鲜为人知的用例是,您可以使用它们为不同组格式化数据。

例如,您可以将表的货币显示为

  • 英国组的用户显示英镑 (£)。
  • 日本组的用户显示日元 (¥)。

或者您可能希望将日期时间列显示为

  • 军事组的用户显示 24 小时制。
  • 非军事组的用户显示 12 小时制。

您可以在 SQL 查询中进行自定义格式化,然后将该 SQL 查询显示在自定义沙盒中。

沙盒允许您向不同组的人员显示自定义 URL 和超链接文本。自定义 URL 在与自定义登录页面搭配使用时特别有用。

例如,如果您为数据工程师产品经理组创建了单独的数据入门指南,您可以向每个组显示具有不同目标的超链接,例如

在我们的 Markdown 教程中了解更多信息:使用沙盒属性创建自定义 URL

请记住,如果您只需要沙盒来格式化数据而不限制任何内容,请使用自定义沙盒并将沙盒的 SQL 查询设置为 SELECT * FROM table

延伸阅读

下一步:使用模拟获取 GUI 和 SQL 查询的行级权限

在数据库中创建角色,并让 Metabase 在查询数据库时模拟这些角色。

下一篇文章
© . All rights reserved.