In this blog you will learn about how to implement Object Level Security in PowerBI. The purpose of object level security in PowerBI is to control who can see specific parts of your data. Whether it’s hiding entire tables, certain columns, or even particular measures, OLS ensures that users see only what they should. Unlike RLS, which only filters data, OLS completely hides data from users, so they don’t even know it exists.
OLS is especially useful when different users need access to different levels of data detail. For example, in a sales team, top management may need to see all sales data, while regional managers should only see data from their region. With OLS, you can ensure that everyone sees only what’s relevant to them.
Types of Object Level Security in PowerBI
Table-level security: Hide entire tables from users.
Example: If our dataset includes a table with confidential financial details, we will use table-level security to ensure it remains hidden from all users except senior management.
Column-level security: Hide specific columns within a table.
Example: If the Sales table contains profit margins that only senior employees should see, we would use column-level security to hide this information from junior employees.
Steps to Implement Object Level Security in PowerBI
Pre-requisite: A Dashboard or Report which you can download from here.
Step 1: Go to browser (recommended: Chrome) and browse the following URL:
https://github.com/TabularEditor/TabularEditor/releases/latest
Step 2: Download latest version of the software and install it by following In-App instructions.
Step 3: Open your power bi dashboard (.pbix)
Step 4: Go to Modeling tab and select Manage roles to create a role
Step 5: Click on New to create a Role and named it NoProfile (optional); close it after click on Save button
Step 6: Go to External tools and select Tabular Editor to restrict the actions on specific role
Step 7: Expand Tables > suppliers > Supplier Name and scroll-down till end
Scroll-Down
Step 8: Expand Object Level Security and click on dropdown with Default to select None; Save it using ctrl+s and close it
Step 9: Go to Modeling and select View as
Step 10: select NoProfile and click on OK
Output:
Conclusion:
Object-level security is a powerful feature in Power BI that controls who sees what. It helps protect sensitive data by hiding parts of the data model from users who don’t need to see them. Although it requires careful planning and management, the benefits of protecting your data make it worth the effort.
After carefully following all the steps mentioned, we found that the column or object selected for restriction was effectively hidden from the NoProfile user. This means that any views or reports created using the “Supplier Name” field are inaccessible to users assigned to the NoProfile role. The success of this implementation highlights the effectiveness of object-level security (OLS) in Power BI. By ensuring that sensitive information remains hidden from unauthorized users, OLS helps maintain data privacy and compliance within organizations. This approach is especially valuable in scenarios where different user groups require different levels of data access. By restricting access at the column or object level, we can provide users with only the data they need, increasing the overall security of our data model. The result is a more controlled and secure data environment, ensuring that sensitive information is only accessible to those with the appropriate permissions.
If you like the article and would like to support me, make sure to:
- 👏 Like for this article and subscribe to our newsletter
- 📰 View more content on my DataSpoof website
- 🔔 Follow Me: LinkedIn| Youtube | Instagram | Twitter