创建用户筛选器并对其进行保护以便发布

  • 版本 :2022.1 及更高版本

适用于: Tableau Desktop

先决条件

如果要通过使用实时连接的数据源实现 RLS,您可以继续执行下面的步骤。

如果计划使用数据提取数据源实现 RLS,您应执行一些额外的步骤和注意一些额外事项,然后再继续执行下面的步骤。有关详细信息,请参见针对包含数据提取数据源的 RLS 的要求

注意:有关可用于在 Tableau 中实现行级安全性的替代方法的信息,请参见 Tableau Server 帮助中的 Tableau 中的行级安全性选项概述(链接在新窗口中打开)

创建用户筛选器并将用户手动映射到值

此部分中的步骤描述了结合基于用户的筛选使用 RLS 来帮助保护数据源或工作簿安全的最简单方法。如果您有一小部分相当静态的用户或组要管理,并且只有少数工作簿需要用户筛选器,则此过程可能就足够了。完成这些步骤也是更加熟悉用户筛选的一种低成本方法。

  1. 在 Tableau Desktop 中,打开工作簿,或者创建一个新的工作簿,并设置想要筛选的数据的连接。

  2. 导航到要向其应用筛选器的工作表。

  3. 选择“服务器”>“创建用户筛选器”。然后选择要用来筛选视图的字段。此示例使用“Region”(区域)

  4. 如果遇到提示,请登录到您的服务器或站点。有关信息,请参见登录到 Tableau Server 或 Tableau Online

  5. “用户筛选器”对话框中,为正在创建的规则集键入名称。

    在本示例中,我们将使用“Regional Managers”(区域经理)

  6. 在左边的列表中,选择用户或组。在右边,选择希望所选用户能够看到的以前所选字段的单个成员。

    对于此示例,选定用户 Andrew Allen 是东部区域经理,因此您将在字段成员列表中选择“East”(东部)

    对每个用户或组重复此过程,并在将用户映射到值后单击“确定”

    创建用户筛选器后,用户筛选器将显示在“数据”窗格的“集”区域中。

  7. 将用户筛选器拖到“筛选器”功能区。

    此筛选器将成为上下文筛选器,并且视图将进行调整以显示允许您查看的数据。

  8. 执行以下任意操作以测试或微调筛选器:

    • 如果视图显示为空白画布,则您需要允许自己或您所在的组查看区域。

      “数据”窗格的“集”区域中,打开用户筛选器上的下拉菜单,然后选择“编辑集”

    • 若要预览筛选器在已发布视图中的工作方式,请在工作簿的右下角打开“筛选为用户”菜单,然后从列表中选择用户或组。

      注意: 如果工作簿连接到 Tableau Server 数据源,则预览不可用。

    • 若要返回以像您本人一样查看工作簿,请在“筛选为用户”菜单的右上角,选择“重置”

    • 若要将针对一个用户或组设置的选择映射至另一个用户或组(而不是手动映射相同的设置),请参见将选定字段值从一个用户复制到另一个用户

发布工作簿时,您需要执行其他步骤,以确保用户无法编辑工作簿和删除筛选器。有关信息,请参见保护已发布内容中的用户筛选器

使用数据中的安全字段创建动态筛选器

下面的步骤基于以下视图,该视图显示了一系列区域经理的年度销售业绩。

在数据行级别限制访问权限中所述,如果要采用此方法,则数据库必须包含要用于筛选的字段。

对于此示例,数据包括一个称为“人员”的引用表,其中包含两个列:“Region”和“Manager”。“经理”字段中的名称与 Tableau Server 或 Tableau Online 用户名匹配,我们将使用此字段进行筛选。

虽然字段和值不完全匹配,但是您可以使用 Tableau Desktop 随附的 Superstore 数据按照讲述进行操作。

连接到数据并设置用户筛选器

  1. 在 Tableau Desktop 中,打开要将用户筛选添加到的工作簿,或者创建一个新的工作簿,并连接到要筛选的数据。

    在本示例中,我们将使用一个名为“Orders”(订单)的表。

  2. “数据源”页面上,添加引用表,创建左联接。这里,我们添加了“People”(人员)表,并在“Region”(区域)字段上创建一个左联接。

  3. 转到工作表,选择“分析”>“创建计算字段”,然后创建以下字段:

    “维度”窗格中将出现这一新的 true/false 字段。如果经理列中存在登录到服务器的人员的用户名,则此公式返回 TRUE。

    • 名称:用户是一名经理

    • 公式:USERNAME() = [Manager]

  4. “User is a manager”(用户是一名经理)字段添加到“筛选器”功能区。

  5. “筛选器”对话框中,选择“True”,然后单击“确定”

    这会设置筛选器,以便只有是管理员的人员才能查看视图中的数据。

    如果“经理”字段中未列出您,则您的视图可能会显示为空白画布。

  6. 查看特定人员的视图外观:在右下角,打开“筛选为用户”菜单,然后选择您知道是经理的人员。

    下图显示了在 Andrew Allen 已登录的情况下之前显示的视图的外观。

与手动用户筛选器一样,您需要采取措施以保护已发布内容中的用户筛选器

筛选数据源

您可以筛选数据源,然后发布数据源,以使其能够作为共享的一对多资源提供给使用该数据的任何人,而不是对每个已发布的工作簿维护用户筛选器和特殊权限。

此过程根据本主题中描述的动态筛选器方法而构建。

  1. 完成使用数据中的安全字段创建动态筛选器中的步骤。

  2. 在 Tableau Desktop 的左下区域中,选择“数据源”选项卡。

  3. “数据源”页面的右上区域中的“筛选器”下面,单击“添加”

  4. “编辑数据源筛选器”对话框中,单击“添加”,添加为动态筛选器创建的计算字段,并将此筛选器设置为“True”

    在我们的示例中,此字段是“User is a manager”(用户是一名经理)字段。

    单击“确定”,直到返回“数据源”页面。

全局筛选器和数据源筛选器

创建数据源筛选器时,任何使用该数据源的全局筛选器将自动显示在“编辑数据源筛选器”对话框中,以便您可以将全局筛选器提升为数据源筛选器。若要将全局筛选器提升为数据源筛选器,请单击“确定”

如果您将全局筛选器提升为数据源筛选器,则该全局筛选器在工作簿的工作表中将不再可见(因为它变成了数据源筛选器)。

重要信息:请注意,您不需要在“编辑数据源筛选器”对话框中选择全局筛选器以对其进行提升。当您单击“确定”时,将提升列表中的所有全局筛选器。

若要阻止将全局筛选器提升为数据源筛选器,请在“编辑数据源筛选器”对话框中选择全局筛选器,然后单击“删除”

保护已发布内容中的用户筛选器

当您发布具有用户筛选器的工作簿或数据源时,您需要设置权限以确保打开工作簿或连接到 Tableau Server 数据源的用户无法移除筛选器,从而获得所有数据的访问权限。

说明

  • 在发布之前,我们建议您咨询您的 Tableau 管理员,以了解组织中的任何现有政策,尤其是设置权限。另请参见发布数据源或工作簿时设置权限

  • 此信息适用于发布包含实时连接的数据源以及其数据存储为多个表的数据提取。

权限设置

若要保护用户筛选器,必须在发布期间或发布以后在服务器上将以下功能设置为“拒绝”

工作簿数据源
  • Web 编辑

  • 下载工作簿/另存为

  • 设置权限

  • 保存

  • 下载/另存为

  • 设置权限

将选定字段值从一个用户复制到另一个用户

手动创建用户筛选器时,将用户或组映射到数据值(成员)后,您可能想以同样的方式映射其他用户或组。您可以通过复制和粘贴设置来执行此操作。

  1. “数据”窗格中的“集”下面,选择用户筛选器。单击下拉箭头,并选择“编辑集”

  2. “用户筛选器”对话框中,选择其他用户或组的设置所要粘贴到的用户或组。

  3. 单击“复制自”,然后选择要复制其设置的用户或组。