在 Metabase 中管理人员

如何从管理数十名用户发展到管理数千名用户。

本文概述了如何设置和扩展自助分析。我们将保持在高层次,并链接到有关各个功能的更详细指南,我们在此处的重点将是 Metabase 的管理,特别是您组织中的人员管理。对于运营扩展(Metabase 应用程序的实际运行),请查看大规模 Metabase

在您的组织中普及数据的目标是为人们提供做出更好决策所需的信息。实现这一目标的最佳方法是让每个人都能访问尽可能多的数据,同时确保他们看不到任何不应该看到的数据。

为此,我们建议您组织 Metabase,目标是简化权限。您可能会出于各种原因(付款、税款、责任等)收集敏感数据,但这些数据与商业智能无关(尽管它可能与相关数据混在一起)。我们的想法是在关键位置设置硬性边界,这样您就不必担心谁可以看到什么,然后建立轻量级系统(甚至只是约定),以便在人员数量增长时保持场所整洁

1. 在 Metabase 中创建组

Metabase 使用管理权限,这比为每个人设置权限更有效、更易于管理。我们建议您设置 Metabase,以便身份提供商中的组映射到 Metabase 中的相同组。通常,您的组应映射到组织中的部门,也可能映射到跨部门的项目或任务团队。这样,一旦会计部门的新员工入职,他们登录 Metabase 后,就可以访问会计部门其他人员拥有的相同数据库和集合。

组管理员

Pro 和 Enterprise 计划中,您可以委托组管理员来添加和删除组中的人员。

2. 向这些组分配权限,包括沙盒

Metabase 中基本上有两种类型的权限:数据权限(确定对数据库的访问权限)和集合权限(确定对 Metabase 中项目(如问题和仪表盘)的访问权限)。这些权限在表或集合级别起作用,但如果您需要限制对行或列的访问权限怎么办?

为所有用户隐藏不相关或技术数据

如果存在不太有用或不相关的字段(或整个表),管理员可以在数据模型选项卡中隐藏这些字段。请注意,SQL 查询不受此设置的影响 — 对数据库具有 SQL 编辑器访问权限的用户始终可以访问该数据库中的所有表和字段。

Selecting Do not include will hide fields in the GUI interfaces (though the field will still be acccesible in SQL/native queries.

将字段的可见性设置为 不包括 将从使用查询构建器构建的问题的菜单和表格中排除该字段。在数据模型级别更改字段可见性的缺点是该操作是全局性的,因此不是很灵活。但是,如果您想有选择地向不同人群授予对行或列的访问权限,则需要对数据进行沙盒化处理。

数据沙盒

数据沙盒是我们 Pro 和 Enterprise 计划中提供的一项功能,当与单点登录 (SSO) 结合使用时,您可以根据用户属性限制对行或列的访问权限。您可以在 Metabase 中手动添加这些属性,也可以通过身份验证服务添加。您可以设置行级访问权限(以用户属性为键),也可以通过创建排除某些字段的表格的自定义视图来限制对列的访问权限。请注意,沙盒化仅适用于 GUI 问题,这引出了

SQL 编辑器访问权限和沙盒是互斥的

关于权限,您需要了解的重要一点是,对数据库具有 SQL 访问权限的组可以访问数据库中的所有数据。即使某个字段在 GUI 菜单或数据浏览器中不可见,具有 SQL 访问权限的人员仍然可以查询数据库中的表(以及所有行和列)。更具体地说,他们将能够查询您用于将 Metabase 连接到该数据库的数据库中用户帐户可用的任何数据。这引出了

SQL 权限

Metabase 缺少表级 SQL 权限:您可以授予组对数据库的 SQL 编辑器访问权限,也可以不授予。但是,由于您可以在数据库级别设置 SQL 编辑器权限,因此您可以创建与同一数据库的两个(或更多)连接,每个连接都具有该数据库中不同用户帐户的不同连接字符串。例如,您可以设置

  • 连接 1,具有对整个数据库的访问权限
  • 连接 2,仅具有对表 A、B 和 C 的访问权限

然后,您可以向大多数组授予对连接 2(权限较低的连接)的访问权限,并向选定的用户(如专门的数据分析师)授予对连接 1(整个数据库)的访问权限。Metabase 会将这些连接视为两个单独的数据库,即使它们只是对同一数据库的两个不同访问级别。但是,从每个人的角度来看,他们只会看到一个数据库(他们的组有权访问的数据库)。

应用程序权限

Pro 和 Enterprise 计划中,您可以向组分配应用程序权限,以便让人们可以按需访问管理工具,而无需授予他们数据访问权限。

3. 在您的 Metabase 中设置 SSO

虽然我们希望 Metabase 始终在您的心中占据特殊地位,但我们知道它不是您使用的唯一软件。如果您的组织开始发展壮大,您很可能正在使用单点登录 (SSO) 身份提供商,如 OktaAuth0OneLogin,这些提供商允许人们进行一次身份验证,即可访问您组织使用的所有应用程序。Metabase 与使用 SAML 和 JWT 标准的服务集成,这将使您可以精细地控制对数据的访问权限。

身份验证选项

目前,Metabase 中有四种基本身份验证选项。在开源版本中,您有

Pro 和 Enterprise 版本中,您还有

SAML 是一种使用 XML 在身份提供商和服务提供商之间交换数据的开放协议。JWT 与之类似,但不太正式 — 它是一种令牌,而不是一种协议。Okta 和 Auth0 等身份提供商都使用这两种标准来创建身份验证服务(本质上是您组织中人员的全局密码管理器)。例如,使用 Okta,您可以登录身份提供商一次,然后就可以使用他们有权访问的所有服务,而无需不断重新输入登录名和密码 — 或不同的登录名和密码。身份提供商(在本例中为 Okta)将处理与每个服务提供商的握手。要了解更多信息,请查看 Auth0 的 SAML 概述

使用 SAML 或 JWT 设置 SSO 的最大优势在于,您可以将用户属性传递给 Metabase,这使您可以根据用户身份对数据进行沙盒化处理,从而限制对表中的行和/或列的访问权限。

4. 同步 SSO 和 Metabase 组

现在您已经创建了组、设置了权限并将 SSO 提供商连接到 Metabase,现在是同步组的时候了。查看我们的文档,了解如何将组成员身份与身份提供商同步。请注意,您还可以使用 LDAP 同步组(Metabase 的免费开源版本中提供此选项)。

5. 告诉人们他们只需登录即可创建 Metabase 帐户

此时,您应该已完成所有设置。人们应该能够登录 Metabase 并看到他们需要看到的所有内容,仅此而已。

6. 使用使用情况分析集合来监控人们如何使用您的 Metabase

最后,在 Pro 和 Enterprise 计划中,您可以探索 Metabase 使用情况分析,以验证人们正在查看的内容并确认您的权限是否按预期工作。您可以看到人们查看了哪些仪表盘和问题、他们运行的 SQL 查询的内容以及他们下载的数据。这也是了解您的推广进展情况的好方法,例如随着时间的推移有多少新用户登录,以及每个人查看了多少内容。

使用情况分析对于检查您的主力仪表盘和问题的性能也很有用。数据普及的问题之一是,所有技能水平的人员都会提出问题,这有时会导致一些效率较低的查询。您可以使用使用情况分析来查找运行缓慢的常用项目,然后查看我们的帖子,获取有关加快仪表盘速度编写 SQL 查询的最佳实践的技巧。

要了解有关使用情况分析的更多信息,请查看我们关于如何密切关注您的数据的文章。

延伸阅读

下一步:数据共享指南

在您的组织内外,您有哪些共享数据或分析的选项?何时应该使用一种方法而不是另一种方法?

下一篇文章