VOOZH about

URL: https://thenewstack.io/3-frameworks-for-role-based-access-control/

⇱ 3 Frameworks for Role-Based Access Control - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2023-05-18 10:00:54
3 Frameworks for Role-Based Access Control
contributed,
Data / Operations / Security

3 Frameworks for Role-Based Access Control

Not all user environments are the same. One of the biggest challenges companies face is determining the access framework they should use for those data access controls. Here's what to think about as you choose the best approach for your needs.
May 18th, 2023 10:00am by James Beecham
👁 Featued image for: 3 Frameworks for Role-Based Access Control
Image by Keith Johnston from Pixabay.

One of the biggest risks to data is letting people use it.

Data is generally very safe if it’s stored, but no one has access. And setting up users is very safe if you don’t authorize them to access any data. It’s at the nexus of data and users that the real danger lies.

That’s why one of the biggest challenges companies face is determining the framework they should use for those data access controls. We’ve seen PBAC (purpose-based access controls), which focuses on the reason why users need the data; ABAC (attribute-based access controls), which is based on characteristics such as user, asset, action and location; and NBAC (nothing-based access controls), which are just random and ad hoc permissions granted to specific individuals.

While all of these have their place (even ad hoc), we think it’s essential to first understand how volatile your company’s business environment is: specifically how much the data, the rules around it, and which users need it will change over time.

With this strategy in mind, here are three frameworks we’ve seen successfully help companies manage data and user relationships via role-based access controls (RBAC).

Case One: Static Data, Static Rules, Static Users

For smaller companies in a more static industry, all three of the variables might not be very variable.

For example, a regional bank might be looking at the same kinds of data consistently over time: who logged into the banking portal, how many payments went out, and how many ATM withdrawals there were, from which ATMs?

Because they’re not rolling out new product lines or other drivers of new data very often, the types of data they analyze to run their business don’t change often.

And because it’s the financial services industry, the banking rules around data security and governance are rigidly structured, specific and slow to change. It’s rare that a new regulation around the care of personal financial data rolls out in the US. Finally, in some part because of the size of the company and focused use of the data, the data users don’t change — it’s the same 5 to 10 data analysts running the same numbers daily or weekly.

In this scenario, a company can have a pretty straightforward RBAC configuration that doesn’t require advanced data classification or tagging. The company can focus on well-defined “role-to-data” relationships.

For example, all PII data could be controlled, but the way that it is masked, and the amount shared is determined by the role of the person accessing it. Minimal and straightforward policies could be set for how each specific role can access data:

  • The marketing role has access to all data, but it’s masked
  • Data scientists have access to unmasked data but only 2,000 records per day
  • Administrative users could have access to unmasked data as well, but only 20 records per day.

👁 Image

Active Directory can be integrated with Snowflake to share the role data.

Case Two: Changing Data, Static Rules, Changing Users

In a more dynamic industry or in a company more mature in its data lifecycle journey, there can be more variation in data and in the users needing the data, while the rules themselves don’t change much.

For example, a company may be bringing in different types of data from across the company, like payroll or shipping costs. Or they might be moving into new lines of business that require different kinds of data like the most popular product color or busiest intersections. They may have a decentralized data process such that various product teams can classify, tag and add data to the data warehouse, then request access.

In this scenario, a company can make the rules specific to the type of data and the type of access that should occur. For example, they could set up data access policies and then assign the policies appropriate to the roles:

  • PII SSN – No Access
  • PII SSN – Last Four
  • PII SSN – Full Access
  • PII Phone – No Access
  • PII Phone – Last Four
  • PII Phone – Full Access

A specific role could then be granted one or more of these policies. Sales may get PII Phone – Full Access + PII SSN No Access.

👁 Image

As data is loaded into Snowflake, it is classified in real-time and brought in with that classification such that it fits into one of these roles via how it’s tagged. Companies can then use Okta or Active Directory to assign these policies to roles.

This means that as the data changes, it’s classified in a variable way, and as the users change, whether they’re new users or existing users gaining or shedding roles and responsibilities, they’re added to new roles and policies in a variable way. The policies, however, are set just once because the rules around which kinds of data are sensitive and how they should be controlled don’t change.

This is the most scalable approach to access control.

Case Three: Changing Data, Changing Rules, Changing Users

Unfortunately, not every company can fit into the previous scenarios. The third situation is the most challenging: The data changes constantly, the rules change constantly and the users change constantly. We see this more often than you might think, but in specific types of companies: very large enterprises acquiring new companies in new markets or moving into new locations with new regulatory environments that are all very data-driven and data-focused throughout the entire business.

These enterprises must deal with a trifecta of variability: new types of data coming in, new rules based on the industry and location and new users across the company wanting and needing access. Because they’re out in front at the leading edge, they’re all still just figuring out how to manage all these moving parts.

In this case, a user may need to switch out their role multiple times throughout the day and hence access depending on what team they’re working with and the hat they’re wearing.

A data engineer, for example, might be helping the sales team with something, and the next fire to put out is with the data science team. Their functional role might be data quality engineer, and within that function, the user can be an admin for some data sets but just a data consumer for others; for example, the user could be an account admin for marketing because they’re GDPR-certified but a read-only user for finance because they don’t have a Series 7 and can’t see customer income statements.

Because it’s challenging to set up static rules in this scenario, a hierarchy structure allows the RBAC to scale by placing policy over both functional roles and technical roles. Instead of making (and updating) a ridiculous number of separate roles, a data team can use that custom logic to evaluate the user when they’re running a query (What hat are they wearing when running the query?) and the classification of the data they’re trying to access. They can write about 8 or 10 lines of code that evaluate this dynamically and apply the correct access level for the role they’re playing at the time.

👁 Image

Role Hierarchy:

👁 Image

Conclusion

The key to an effective data access control structure is understanding the fundamental forces affecting your data. Every business is different in the way that it consumes, stores and processes data, in the way in which it follows regulations or defines internal policies, and in how it onboards, offboards, and categorizes its users. Those three dimensions can be unique to every organization but will generally fall into one of the above categories.

Starting from one of these as a foundation will help ensure your access controls are scalable and manageable for your business environment and, more than anything else, secure.

TRENDING STORIES
James Beecham is a co-founder and the CEO at ALTR, an innovator of complete data control and protection solutions. He has over a decade of experience leading technology and engineering teams in computer architecture design, database and operating system drivers,...
Read more from James Beecham
SHARE THIS STORY
TRENDING STORIES
Okta is a sponsor of The New Stack.
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.