# Centralised row-level security: New in Tableau 2021.4

> This is content from just-tim, the data-and-analytics channel by Tim Ngwena (formerly 'Tableau Tim'). Tim has 12+ years of hands-on BI experience and covers Tableau most of all, plus Power BI, Looker, Hex, SQL and data modelling, the analytics industry, and the craft of doing the job — always tool-agnostic and honest about the trade-offs.

- **Author:** Tim Ngwena (just-tim, https://just-tim.com/about)
- **Published:** 2021-12-07
- **Format:** Video · 16 min watch · transcript available
- **Topics:** Data prep, Tool strategy, Data engineering
- **Tools:** Tableau (calculated fields, row level security, server)
- **Canonical:** https://just-tim.com/posts/centralised-row-level-security-new-in-tableau-2021-4
- **Watch:** https://www.youtube.com/watch?v=ANzBDz0GRSw

I walk through centralised row-level security, the new data policies feature in Tableau 2021.4, built on top of a virtual connection. I demonstrate three approaches: a simple hardcoded condition, matching a salesperson field to the server username, and a full entitlement table that joins an employees table to other tables.

## Key takeaways

- Data policies are created inside the virtual connection setup and apply automatically to everyone connecting to that connection
- A table can only belong to one policy, so you map a shared column name across multiple tables and write a single condition once
- You can match a field to USERNAME() or FULLNAME() from Tableau Server, but check which value Server actually holds - my login was an email, so FULLNAME() worked where USERNAME() didn't
- The entitlement table approach lets you build a relationship between an employees table and other tables, mapping employee IDs to drive row filtering
- The full Tableau calculation window is available, so you can build logic with date functions, group membership checks and super-access overrides for specific users

## Chapters

- 1:09 Setting up data policies in the virtual connection
- 1:37 Simple hardcoded city policy
- 4:01 One table, one policy rule
- 5:44 Matching a salesperson to the server user
- 7:58 Debugging username versus full name
- 9:25 Naming and managing policies
- 10:17 Entitlement table example
- 13:46 Building advanced access logic

Watch the full video, read the transcript and use chapter deep-links on the page: https://just-tim.com/posts/centralised-row-level-security-new-in-tableau-2021-4

---
just-tim — Data and analytics, with a point of view. · https://www.youtube.com/channel/UC7HYxRWmaNlJux-X7rNLZyw · https://twitter.com/TableauTim · https://www.linkedin.com/in/timngwena
