DATA ANALYTICS

Powered by User Attributes: Row level security for your data!

Jack Qian

Software Engineer at Sigma Computing

Zalak Trivedi

Product Manager at Sigma Computing

Secure your data with user attributes

Sigma brings data exploration and sharing to users in your organization. As businesses and teams grow, it becomes increasingly important for us to have a balance between control and speed.

We’re happy to announce the general availability of User Attributes, – a flexible framework to customize user access across Sigma

So what are user attributes?

User Attributes are users’ metadata that can be used by admins to control what data each user can access in Sigma. You know your users best, so we’re giving you the power to clearly define each user within Sigma and use that to curate each individual’s experience within Sigma.

Why is this helpful?

There are many reasons why you might want to control access to data based on different types of users. Here are some examples of situations where User Attributes are well suited to regulate data access. You may want to:

  • Restrict access of sales data to specific regions based on a sales rep’s territory
  • Limit visibility of employee performance ratings to just their managers
  • Apply country specific policies that regulate data that can be exposed, based on the location of the user

Let’s take a look into the sales region example.

Let’s say you have sales teams in different regions (Eastern region and Western region) and you want your workbooks to limit the data that’s visible to a Sales Rep based on the region they are assigned to. You can define a user attribute ‘Region’, and assign the ‘Eastern’ team a value of ‘East’, the ‘Western’ team a value of ‘West’, so on and so forth, you get the idea.

Team List
User attributes assignment

With this in mind, when you look at your data, you can now leverage that attribute to control which rows in a table each user can see.

Formula in action

Now if you’re a member of the ‘Eastern’ team, you’ll see just the data that corresponds to the East region.

You now have the convenience of sharing a single workbook with the entire Sales team, and can have the peace of mind that each rep will be able to see just the data they have access to. They can explore the data to make informed decisions.

Where can I use user attributes?

To start off, we support two main use cases: row-level security, and switching context in SQL. We believe these are the main use cases that provide the most immediate value.

  • Row-Level Security: You can use user attributes to filter rows in a dataset (application embedding) or a workbook table (internal use) based on the user accessing the embed/workbook. A calculated column such as CurrentUserAttributeText(“region”) = [Region] where region is the user attribute and [Region] is the column in your data can be used to filter rows based on the user. Values for the user attribute should be passed via the embed URL for application embedding and set via the team for internal analytics.
  • Custom SQL: You can use user attributes in your custom SQL. Let’s say you want to change which table or schema is used based on who is using the dataset. With user attributes and our new syntax for system functions, you can begin to embed these in your SQL and reduce the number of datasets created.

We have many additional enhancements of user attributes that will come down the line which will allow you to control data access in creative ways! Check out the documentation here to learn more!

If you are a Sigma customer, this is all live on production.

If you’re not on Sigma yet, we invite you to try a free trial and join the list of business teams that have decided to work and explore live, full fidelity data!