在 Metabase 中管理人员

如何从管理几十个用户到数千个用户。

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

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

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

1. 在 Metabase 中创建群组

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

群组管理员

专业版和企业版计划中,您可以委任群组管理员,他们可以向群组添加或从中移除人员。

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.

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

数据沙盒

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

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

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

SQL 权限

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

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

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

应用程序权限

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

3. 在 Metabase 中设置 SSO

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

身份验证选项

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

专业版和企业版中,您还可以使用

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

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

使用情况分析也有助于检查您的核心仪表板和问题的性能。数据民主化的一个问题是,各种技能水平的人员都会提出问题,这有时可能导致效率较低的查询。您可以使用使用情况分析来查找运行缓慢的常用视图项,然后查阅我们的文章,获取有关加快仪表板速度编写 SQL 查询的最佳实践的提示。

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

延伸阅读

下一篇:数据共享指南

在组织内部或外部,您有哪些选项可以共享数据或分析?何时应该使用哪种方法?

下一篇文章
© . All rights reserved.