SIGMA IS ON THE 2025 Gartner® Magic Quadrant™
arrow right
Team Sigma
July 23, 2025

Are You Over-Permissioning Your Data? Meet Attribute-Based Access Control (ABAC)

July 23, 2025
Are You Over-Permissioning Your Data? Meet Attribute-Based Access Control (ABAC)

If you’ve ever spent more time figuring out who should have access to a dataset than actually analyzing the data, you are not alone. It’s a problem that creeps into nearly every modern data team. As more people across an organization rely on dashboards, reports, and shared datasets to do their jobs, managing who can see what becomes a daily headache. Before long, you’re juggling manual filters, creating duplicate dashboards, or awkwardly handing out more access than feels comfortable just to avoid slowing everyone down.

This pattern grinds productivity to a halt. Data teams often lose valuable time managing a constant flow of access requests. At the same time, business users are left waiting for approvals or finding ways to bypass the system to continue working. Over time, over-permissioning becomes the norm because tightening controls feels risky, and there’s always a chance it might disrupt someone’s workflow. 

The old methods for managing permissions were never designed for how data works in collaborative, cloud-first analytics tools. They force binary decisions; either you have access or you don’t. There’s no room for context, nuance, and no way to dynamically adjust based on who’s asking, what they’re asking for, or why they need it.

This is exactly where attribute-based access control (ABAC) shines. Instead of relying solely on fixed roles, ABAC makes access decisions based on a combination of attributes. For data teams and business users, ABAC quietly changes how access works behind the scenes. It lets you stop managing permissions with duct tape and start working with a system that adapts as your team and your data grow.

This blog post aims to break down what ABAC is, why it matters to anyone working in BI, and how it’s already helping teams like yours spend less time managing permissions and more time deriving insights from their data.

Why data access breaks in self-serve analytics

The shift to self-serve analytics was supposed to make life easier. No more waiting on a data engineer to build every dashboard, and no more bottlenecks when teams needed answers fast. In theory, anyone with a question could pull the data themselves and start exploring. In reality, access control never caught up.

The number of people who rely on data has exploded. Sales teams, marketers, product managers, finance leaders, and even frontline staff expect to be able to explore data directly. That’s a win for agility but a nightmare for anyone tasked with managing permissions. The old models for controlling access weren’t built for this. Role-based access control (RBAC) worked when most people fit neatly into a single role i.e., “analyst,” “manager,” “finance.” However, as data usage expanded, roles became more complex. A sales manager might need access to regional data, but only for their territory. Marketing might need customer segments, but shouldn’t see individual transaction details. Finance might require sensitive revenue data that others shouldn’t touch. The combinations quickly outgrow what role-based models can handle cleanly.

This is where over-permissioning creeps in. When it feels too complex to configure precise permissions, teams default to granting broad access. After all, it’s faster to say yes than to troubleshoot a permission error in the middle of a deadline. The consequences go beyond security risks. 

Over-permissioning forces data teams into reactive mode. Every new hire triggers an access review, and every org change becomes an audit headache. People who should be working on analysis, modeling, or strategy instead spend time figuring out who can see which rows in a table. The flip side is just as painful. When access controls are too restrictive or brittle, they block the flow of work. Users can’t get the data they need, teams duplicate work, and people bypass governance entirely, downloading CSVs or rebuilding dashboards offline just to move forward.

When permission models don’t adapt to how teams actually work, the entire premise of self-serve starts to fall apart. The challenge is finding a way to manage permissions that keeps pace with how data is actually used, adapting to dynamic, cross-functional, and constantly shifting workflows.

Meet ABAC: A better way to manage data permissions

If you’ve ever felt like permission management turns into a full-time job, you are not imagining things. Most traditional systems are built on rigid structures, such as role-based access control (RBAC) or older models like access control lists (ACLs). While they serve a purpose, they fall apart the moment data access needs to reflect the real-world complexity of how teams operate. This is exactly why attribute-based access control, or ABAC, exists. Instead of asking, “What role does this person have?”, ABAC asks a more flexible question: “What do we know about this person, this data, and this situation right now?”

ABAC works by evaluating attributes, which are pieces of information that describe users, datasets, and even conditions. These could include factors such as the user’s department, geographic location, or job title. It could reference attributes of the data itself, like whether a dataset contains confidential financial details or only public-facing metrics. Some policies even factor in environmental conditions, such as whether someone is accessing the network from inside the corporate network.

This approach offers flexibility that role-based systems just can’t handle. Rather than trying to force every person into a single role, ABAC adapts permissions dynamically based on combinations of attributes. For example, someone in the sales department can access regional sales data, but only for the region tied to their user profile. There is no need to create a separate role for every possible region and department combination.

It’s helpful here to draw a simple contrast:

  • RBAC answers the question, “Does this person’s role match the allowed role for this data?”
  • ABAC asks, “Does this person’s department, region, and job function align with the rules defined for this data in this context?”

The difference becomes more obvious as organizations scale. With RBAC, the number of roles tends to explode. You might start with “Marketing” and “Sales,” but eventually, you end up with “Marketing_Europe,” “Sales_NorthAmerica,” “Finance_APAC,” and countless others. Each one requires upkeep. Each one becomes a potential source of error.

ABAC sidesteps this completely. Instead of hardcoding roles, it lets the system evaluate combinations of attributes at the moment someone tries to access something. The system doesn’t care whether the person has a “WestRegion_SalesManager” role. It checks Is the user in Sales? Is the dataset tagged West Region? Then yes, grant access. This shift is not just about scaling. It reflects how modern organizations operate, working in ways that are fluid, cross-functional, and constantly changing. People change teams, data changes ownership, and businesses expand into new regions. A static role structure struggles to keep up, whereas ABAC doesn’t flinch.

For Sigma users, this might already feel familiar. If you’ve ever used row-level security based on region or department in a workbook, you’ve seen a simplified version of ABAC at work. What we are talking about here is formalizing and scaling that concept into a flexible, resilient framework for the entire data stack.

How does ABAC work?

At a glance, ABAC can sound abstract. Terms like policy enforcement point or policy decision point are often used in technical documentation, but without context, they don’t provide much help in visualizing how this works day-to-day. Let’s cut through that.

Every ABAC system relies on two primary components working in tandem. First is the Policy Enforcement Point, often shortened to PEP. This is the part of the system that sits between the user and the data. It’s the checkpoint that decides, “Should this person be allowed to do what they’re trying to do?” Then there’s the Policy Decision Point, or PDP. This component holds the logic. 

The PEP process

When the PEP needs to decide whether to allow an action, it asks the PDP to evaluate the rules. The PDP reviews the relevant policies, examines the attributes involved, and returns a decision. The entire interaction happens in the background in milliseconds. The person requesting access never sees it. They just experience the result; either the data loads with the appropriate rows and columns filtered, or it doesn’t.

Think about a simple example. Someone from the West Coast sales team opens a workbook with national sales data. The PEP checks the request and knows the user’s department is Sales and that their assigned region is West Coast. The PDP examines the policy for this dataset, which states, “Sales data can only be viewed for the region matching the user’s assigned region.” Since both attributes align, the PDP instructs the PEP to allow access only to the rows tagged as 'West Coast'. 

Everything else stays hidden without the user needing to apply any filters themselves. If that same user tries to access financial forecast data, the policy may check a different set of attributes. It could confirm that financial data is only available to employees in Finance or Leadership. The PDP evaluates the request, finds that the person doesn’t meet the requirements, and tells the PEP to deny access.

PEP dynamic attributes

What makes this system especially effective is its dynamic nature. The rules aren’t tied to static groups or roles; instead, they reference live attributes, which means the decision adapts automatically if any changes occur. For example, if that sales rep transfers to the East Coast team, updating their region attribute is enough. The permissions are adjusted on the subsequent request without anyone needing to rewrite access rules manually. Policies are written using logical statements that combine these attributes. While the syntax varies by platform, the core idea remains consistent. A policy might say something as simple as: “Grant access if the user’s department is Sales and the data region matches the user’s assigned region.” Alternatively, it could include additional checks, such as time constraints, data sensitivity tags, or project assignments.

Behind the scenes, ABAC operates like a rules engine, systematically evaluating whether a set of conditions is true for this user and this data at this moment. If the answer is yes, access is granted. If not, the request is blocked or restricted to only the permitted data slices. For users working in tools like Sigma, the experience feels seamless. The workbook displays the correct data, with irrelevant or restricted information quietly filtered out. No extra steps, manual configuration, or awkward workarounds.

How ABAC supports governance and compliance

Governance is the backbone of how responsible organizations manage data, especially when that data includes sensitive customer details, financial records, or regulated information. For many teams, this is where traditional permission models start to buckle under pressure. ABAC steps in as a framework that protects data in a way that actually supports how businesses work.

One of the most overlooked challenges in data governance is aligning permissions with the classification of data. Some datasets are intended for broad use, supporting public reporting or general internal visibility. Others include confidential financial forecasts, personal customer information, or health data governed by regulations like HIPAA or GDPR. Managing access manually across hundreds or thousands of datasets introduces enormous risk. If you miss a permission, you expose sensitive data. If you set permissions too tightly, you stall business processes. 

ABAC tackles this by allowing policies to reference data classifications directly. If a dataset is tagged as “Confidential – Finance,” policies can automatically restrict access to employees in Finance. No need to rely on someone remembering to assign permissions to a new workbook or dashboard manually. The system checks the data’s attributes, matches them against the user’s attributes, and makes the right call every time.

This dynamic approach tightens security and drastically improves auditability. Every access decision has a clear reason behind it, grounded in the attributes evaluated at that moment. When auditors ask, “Who saw this data, when, and why?” ABAC systems produce a straightforward answer “This person accessed these rows at this time because their department was Finance, and the dataset classification allowed it.” 

It also shifts risk management from a reactive to a proactive approach. Traditional models often rely on periodic access reviews to catch over-permissioning. ABAC bakes that review into every access request. If someone changes roles, their access updates automatically based on their new attributes. There’s no window where someone can accidentally access data they should no longer have access to. There’s another benefit that often gets overlooked: ABAC prevents governance from turning into a blocker. In many companies, security and compliance policies hinder data access because adjusting permissions is tedious. ABAC flips that dynamic. Permissions become self-adjusting, which means data remains protected without compromising productivity. Data users see what they are supposed to see, no more, no less, and they receive it without waiting for a ticket or manual approval.

For teams working in Sigma or managing data pipelines through Snowflake and Databricks, ABAC policies help ensure that self-serve analytics doesn’t accidentally turn into self-serve risk. It keeps the promise of open access without sacrificing control, offering a framework that scales governance alongside the business rather than against it.

ABAC in the context of data platforms and analytics tools

ABAC isn’t some abstract security concept tucked away in the background. It is evident in how data is filtered, shared, and accessed within tools like Sigma, Snowflake, and Databricks.

Start with something as familiar as a workbook in Sigma. You might build a dashboard that tracks sales performance across different regions. Without ABAC principles in place, you either have to create one version of that dashboard for each region or rely on manual filters and trust that users apply them correctly. Both options are clunky and neither scales.

The core idea remains the same across platforms: access is determined dynamically based on attributes such as region, department, job role, or data classification. But where that enforcement happens depends on the tool. In Sigma, ABAC-like behavior applies at the BI layer. User attributes inside workbooks or datasets drive row-level security and column-level filtering. 

Snowflake and Databricks push ABAC further down into the data infrastructure. Policies are enforced directly in the warehouse or compute layer. That means whether someone runs a SQL query, explores a dashboard, or executes a machine learning pipeline, the same access controls apply consistently. This approach secures the data, not just the reports built on top of it.

The mechanics are simple but powerful. The platform evaluates the attributes tied to the user, such as region, department, or job function, against the metadata in the dataset. If the conditions match, access is granted. If not, sensitive rows, columns, or even entire tables stay hidden without the user lifting a finger. This plays out in something as familiar as a workbook in Sigma. With ABAC, dashboards adjust automatically. A sales manager in the West sees West Coast data, and a marketer from the Northeast sees theirs. Nobody touches a filter or juggles duplicate dashboards.

Snowflake applies this same logic but evaluates permissions at query time in the warehouse itself. Attributes often originate from identity platforms such as Okta or Active Directory. Datasets are tagged using Snowflake’s object tagging system, which feeds directly into access policies that control row- and column-level visibility in real time. 

Databricks extends this control into more programmatic workflows. ABAC ensures that the same access rules apply across notebooks, dashboards, and machine learning pipelines. For example, a churn prediction model doesn’t need full access to raw customer PII if the policy restricts that data to a different job role.

Although platforms like Snowflake and Databricks don’t explicitly mention PEP and PDP in their documentation, the pattern functionally holds true. The enforcement system evaluates user and data attributes at the moment an access request is made, applies the relevant policies, and grants or restricts access accordingly, dynamically at runtime.

Less stress, fewer risks, and cleaner data workflows

Managing data access shouldn’t feel like navigating a minefield. Yet for most analytics teams, that’s exactly what it turns into. Old-school permission models force teams to choose between moving fast and staying secure. That’s not a choice anyone should have to make.

Attribute-based access control (ABAC) offers a way out of that corner. Instead of locking access behind brittle, role-based gates, ABAC adapts in real-time to the context surrounding each request. It lets systems answer questions like, “Who is this person? What part of the business are they in? What’s the classification of this dataset? Are the conditions right for them to access it?” and make a decision instantly.

If you’ve ever opened a workbook and noticed that it automatically filtered to your region, your department, or your team’s scope, you’ve already seen ABAC principles in action. What changes when ABAC is applied at scale is that this logic extends everywhere. It also means governance doesn’t become the villain. Data stays protected, compliance boxes get checked, and yet, business users don’t spend half their day fighting permissions. The rules are clear, automated, and enforced exactly when and where they’re needed.

ABAC doesn’t eliminate the need for thoughtful data governance or careful data modeling. It complements those processes by providing teams with a smarter, more adaptable way to handle permissions, without turning every change request into a fire drill.

As data continues to move faster and touch more parts of the business, models like ABAC shift from being a nice-to-have to something foundational. If your data team is tired of firefighting permission problems or dealing with the fallout of accidental data exposure, this is the future of access management. The good news is you’ve already seen parts of it working in Sigma. Scaling it further is just the next step.

2025 Gartner® Magic Quadrant™