When you share workbooks with others past publishing them to Tableau Server or Tableau Online, past default, all users who have access to the workbooks can come across all of the data shown in the views. You tin can override this behavior past applying a type of filter that allows you lot to specify which data "rows" whatever given person signed in to the server can come across in the view.

This approach for securing data at the row level applies to data sources with live connections and excerpt data sources whose tables are stored as multiple tables. For more information nearly storing extract data using multiple tables, see Determine how the extract data should be stored.

How user-based filtering works

Suppose you created a quarterly sales written report for a fix of products over several years, in different geographic regions.

When you publish this written report, you want to let each regional manager to see but the data relevant to his or her region. Rather than creating a separate view for each manager, you can utilise a user filter that restricts admission to the data based on users' characteristics, such every bit their function.

Restricting access to data in this way is referred to as row-level security (RLS). Tableau offers the following approaches to row-level security:

  • Create a user filter and map users to values manually.

    This method is convenient but high maintenance, and security can be tentative. It must be done per-workbook, and y'all must update the filter and republish the data source as your user base changes.

  • Create a dynamic filter using a security field in the data.

    Using this method, y'all create a calculated field that automates the process of mapping users to data values. This method requires that the underlying data include the security information you lot want to apply for filtering.

    The most common mode to practise this is to use a reference ("look-upwardly," "entitlements," or "security") table that contains this information. For example, if y'all desire to filter a view so that simply supervisors can see it, the underlying data must be prepare to include user names and specify each user's role.

    Because filtering is defined at the data level and automated past the calculated field, this method is more secure than mapping users to information values manually.

Adding user filters to data sources

The two methods in the previous department describe ways to add filters to information embedded in workbooks. If multiple workbooks connect to the aforementioned data, instead of wrangling filters on each workbook, you can filter the data source, and then connect the workbooks to the data source later on you publish information technology.

Workbooks that connect to your filtered data source betrayal only the information the user signed in to the server is immune to come across. In addition, all connected workbooks show data refreshes equally they occur.

Generally, when using one of the methods described higher up, RLS with extracts are faster to create and have amend performance than RLS with data sources that use live connections.

Requirements for RLS with extract data sources

As mentioned earlier, the start requirement to using RLS with extracts is that the data in the excerpt should be stored using multiple physical tables. You can configure your excerpt to have its data stored using multiple physical tables by following Decide how the excerpt data should be stored.

In add-on to the above requirement, in that location are some additional considerations to brand if you plan to use RLS with your excerpt. Considering extract data stored using multiple tables exercise not support excerpt filters and some other functionality that help reduce the corporeality of data in the excerpt, you might consider using ane of the post-obit suggestions:

  • Connect to data using custom SQL

  • Connect to a database view that already has the appropriate level of filtering

For more than information about these suggestions, see Alternative filtering suggestions when using the Physical Tables option.

Recommended practices for RLS with excerpt data sources

To effectively perform RLS with extracts, Tableau recommends keeping the number of tables (or database views or custom SQL queries) in your extracts to two. In other words, Tableau recommends that the tables in your extract exist comprised of the following types of tables:

  • A data table—this is the "object" table that contains all the data you lot want to show.

  • A reference table—this is the "wait-up" or "entitlements" table that contains the user data and the security groups the users belong to.

Past minimizing the tables in your extract to these two, you ensure that the only join that Tableau has to perform is between these ii tables and thus avoid any duplication of data or "join explosion."

About RLS and previous versions of Tableau

Previously, Tableau was unable to back up RLS workflows with extracts because of complications around row duplication and performance. Ultimately, these complications derived from the extract whose data could only be stored and queried equally a single table. Still, starting time in Tableau 2018.3, y'all can choose to shop the data in your extract using multiple tables and thus enabling a workflow for RLS with extracts as you might accept previously done with data sources with live connections.

For a comprehensive discussion almost RLS with extracts in Tableau, read the blog maintained by a Tableau Sales Consultant who has extensive experience in this surface area.

  • Multiple Table (Normalized) Hyper Extracts(Link opens in a new window)

  • Defusing Row Level Security…Part 1(Link opens in a new window)

  • Defusing Row Level Security…Role 2(Link opens in a new window)

Disclaimer: Clicking these links will take yous abroad from Tableau.com. Although we make every try to ensure links to external websites are accurate and relevant, Tableau cannot take responsibility or provide support for the external content.

Run across also

  • Data Security(Link opens in a new window) in the Tableau Server Help

  • Overview of Row-Level Security Options(Link opens in a new window) in Tableau in the Tableau Server Help