---
schema_version: "1"
id: 0e2536fa522de74a9c4500ea792c6502f12d3e3290f26113c8a008c5dd324ea5
title: Tableau 中的行级安全性选项概述
collection: tableau
version: current
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/current/zh-cn/server-linux/rls_options_overview.md
canonical_url: https://help.tableau.com/current/server-linux/zh-cn/rls_options_overview.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 336e832cc05614699493bf0ca36967ab6628a0479f37a912ac5ad41c9e2e3fe9
description: Overview and comparison of row-level security options in Tableau.
---
[跳转到主要内容](#main-content)

# Tableau 中的行级安全性选项概述

有时您想根据请求数据的用户筛选数据。例如：

- 您希望区域销售人员只看到其所在区域的销售数据。
- 您希望销售经理只看到向他们报告的销售人员的统计数据。
- 您希望学生只看到基于他们自己的考试成绩的可视化项。

以这种方式筛选数据的方法称为行级安全性 (RLS)。有多种方法可以在 Tableau 内部和外部实现行级安全性，每种方法都有自己的优点和缺点。

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

在 Tableau 中实现行级安全性的最简单方法是通过用户筛选器，您可以在其中手动将用户映射到值。例如，您可以手动将名为“Alice”的用户映射到值“East”（东部），以便她只能看到数据源中“Region”（区域）列为“East”（东部）的行。

这种方法较为方便，但维护费用高并且必须注意安全性。必须按工作簿完成此方法，并且您必须更新筛选器并在用户群发生变化时重新发布数据源。当您使用这种类型的用户筛选器发布资产时，您需要设置权限，以便用户无法保存或下载它并移除筛选器，从而获得对所有数据的访问权。

有关详细信息，请参见 Tableau Desktop 和 Web 制作帮助中的[创建用户筛选器并将用户手动映射到值](https://help.tableau.com/current/pro/desktop/zh-cn/publish_userfilters_create.htm#create-user-filter)。

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

使用此方法，您可以创建计算字段，以自动执行将用户映射到数据值这一过程。此方法要求基础数据包括要用于筛选的安全信息。例如，使用计算字段、USERNAME() 函数和数据源中的“Manager”（经理）列，您可以确定请求视图的用户是否为经理并相应地调整视图中的数据。

由于筛选是在数据级别定义的，并由计算字段自动进行，因此此方法比将用户手动映射到数据值更不容易出错。当您使用这种类型的用户筛选器发布资产时，您需要设置权限，以便用户无法保存或下载它并移除筛选器，从而获得对所有数据的访问权。

有关详细信息，请参见 Tableau Desktop 和 Web 制作帮助中的[使用数据中的安全字段创建动态筛选器](https://help.tableau.com/current/pro/desktop/zh-cn/publish_userfilters_create.htm#dynamic)。

## 使用数据策略

从 Tableau 2021.4 开始，当在 Tableau Server 或 Tableau Cloud 中启用 Data Management 时，拥有 Creator 许可证的用户可以通过虚拟连接上的数据策略实现行级安全性。由于虚拟连接是集中式且可重用的，因此您可以在一个地方为使用该连接的所有内容安全可靠地管理每个连接的行级安全性。

与 Tableau 中的上述行级安全性解决方案不同，如果作者忽略正确保护工作簿或数据源的权限，此方法不会带来同样的信息泄露风险，因为该策略是针对每个查询在服务器上强制执行的。

制定通过虚拟连接数据策略实现的行级安全性是为了解决其他行级安全性解决方案的缺点。我们推荐在大多数情况下选择此解决方案。

有关在虚拟连接上使用数据策略的行级安全性的详细信息，请参见[关于虚拟连接和数据策略](https://help.tableau.com/current/server-linux/zh-cn/dm_vconn_overview.htm)。

## 使用数据库中现有的 RLS

许多数据源都有内置 RLS 的机制。如果您的组织已努力在数据源中构建行级安全性，则可以利用现有的 RLS。

与在考虑 Tableau 的情况下构建内置 RLS 模型相比，实现一个内置的 RLS 模型并不一定更容易或更好：当组织已经对这些技术进行了投资，并且希望利用投资，或者当他们需要将相同的安全策略应用于除 Tableau 之外的其他数据库客户端时，通常会利用这些技术。

使用内置 RLS 的主要优点是，它允许管理员在一个位置，即在管理员数据库中实现和控制其数据安全策略。

有关详细信息，请参见[数据库中的行级安全性](https://help.tableau.com/current/server-linux/zh-cn/rls_datasource.htm)。

## 行级别安全性选项比较

<table style="width: 100%;mc-table-style: url('Resources/TableStyles/Basic-Border.css');" class="TableStyle-Basic-Border" cellspacing="0"><colgroup><col class="TableStyle-Basic-Border-Column-Column1" style="width: 16%;"><col class="TableStyle-Basic-Border-Column-Column1" style="width: 28%;"><col class="TableStyle-Basic-Border-Column-Column1" style="width: 28%;"><col class="TableStyle-Basic-Border-Column-Column1" style="width: 28%;"></colgroup><tbody><tr class="TableStyle-Basic-Border-Body-Body1"><th class="TableStyle-Basic-Border-BodyE-Column1-Body1">RLS 选项</th><th class="TableStyle-Basic-Border-BodyE-Column1-Body1">在以下情况下有用</th><th class="TableStyle-Basic-Border-BodyE-Column1-Body1">优点</th><th class="TableStyle-Basic-Border-BodyD-Column1-Body1">缺点</th></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">手动用户筛选器</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1"><ul><li>您正在进行概念验证或测试用户筛选功能</li><li>您正在创建一个静态工作簿以供一组不变的用户使用</li><li>您了解权限设置错误的数据安全风险</li></ul></td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1"><ul><li>简单且规模小</li><li>易于理解的映射</li><li>适合测试</li></ul></td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1"><ul><li>维护成本高</li><li>需要更新筛选器并在用户群的变化时重新发布</li><li>必须保护权限以防止用户看到未筛选的数据</li><li>必须在每个工作簿中复制</li></ul></td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">动态用户筛选器</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1"><ul><li>您没有 <span class="mc-variable Variables.DM_sku variable">Data Management</span> 许可证</li><li>数据包含可用于筛选的信息</li><li>您了解权限设置错误的数据安全风险</li></ul></td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1"><ul><li>设置相对容易</li></ul></td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1"><ul><li>必须保护权限以防止用户看到未筛选的数据</li><li>必须在每个工作簿或数据源中复制</li></ul></td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyE-Column1-Body1">数据策略</td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1"><ul><li>您有 <span class="mc-variable Variables.DM_sku variable">Data Management</span> 许可证</li><li>数据包含可用于筛选的信息</li><li>数据安全的易用性是一个重要的问题</li></ul></td><td class="TableStyle-Basic-Border-BodyE-Column1-Body1"><ul><li>集中</li><li>安全</li><li>维护成本低</li><li>安全和分析的责任可以分开</li></ul></td><td class="TableStyle-Basic-Border-BodyD-Column1-Body1"><ul><li>需要 <span class="mc-variable Variables.DM_sku variable">Data Management</span> 许可证</li></ul></td></tr><tr class="TableStyle-Basic-Border-Body-Body1"><td class="TableStyle-Basic-Border-BodyB-Column1-Body1">数据库中的 RLS</td><td class="TableStyle-Basic-Border-BodyB-Column1-Body1"><ul><li>您的数据库具有内置到数据库中的现有 RLS 安全性</li><li>您未使用数据提取</li></ul></td><td class="TableStyle-Basic-Border-BodyB-Column1-Body1"><ul><li>可能已经内置到组织的数据库中</li><li>策略可应用于 Tableau 以外的数据库客户端</li></ul></td><td class="TableStyle-Basic-Border-BodyA-Column1-Body1"><ul><li>必须使用实时查询</li><li>可能有限制或要求。您的 IT 团队可以识别它们</li></ul></td></tr></tbody></table>

## 我应该使用哪个行级安全性选项？

<table style="width: 100%;"><colgroup><col style="width: 45%;"><col style="width: 10%;"><col style="width: 45%;"></colgroup><tbody><tr><td style="padding-left: 6px;padding-right: 6px;padding-top: 6px;padding-bottom: 6px;background-color: #f5f5f5;">您的组织在数据库中是否有适用于该项目的首选 RLS 解决方案？</td><td style="text-align: center;">→ 有 →</td><td style="padding-left: 6px;padding-right: 6px;padding-top: 6px;padding-bottom: 6px;background-color: #f5f5f5;">请参见<a href="https://help.tableau.com/current/server-linux/zh-cn/rls_datasource.htm" class="xref">数据库中的行级安全性</a></td></tr><tr><td><p style="text-align: center;">↓ 没有 ↓<br></p></td><td style="text-align: center;">&nbsp;</td><td>&nbsp;</td></tr><tr><td style="padding-left: 6px;padding-right: 6px;padding-top: 6px;padding-bottom: 6px;background-color: #f5f5f5;"><p>您是否有 <span class="mc-variable Variables.DM_sku variable">Data Management</span> 许可证？</p></td><td style="text-align: center;">→ 有 →</td><td style="padding-left: 6px;padding-right: 6px;padding-top: 6px;padding-bottom: 6px;background-color: #f5f5f5;">请参见<a href="https://help.tableau.com/current/server-linux/zh-cn/dm_vconn_overview.htm" class="xref">关于虚拟连接和数据策略</a></td></tr><tr><td><p style="text-align: center;">↓ 没有 ↓</p></td><td style="text-align: center;">&nbsp;</td><td>&nbsp;</td></tr><tr><td style="background-color: #f5f5f5;">这是否为概念验证、基本用户筛选器测试或具有不变用户的静态工作簿？</td><td style="text-align: center;">→ 是 →</td><td style="background-color: #f5f5f5;">请参见<a href="https://help.tableau.com/current/pro/desktop/zh-cn/publish_userfilters_create.htm#create-user-filter" target="_blank">使用手动用户筛选器</a></td></tr><tr><td><p style="text-align: center;">↓ 否 ↓</p></td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td style="background-color: #f5f5f5;"><p>请参见<a href="https://help.tableau.com/current/pro/desktop/zh-cn/publish_userfilters_create.htm#dynamic" target="_blank">使用动态用户筛选器</a></p></td><td>&nbsp;</td><td>&nbsp;</td></tr></tbody></table>