You are currently viewing How to implement Object Level Security in PowerBI

How to implement Object Level Security in PowerBI

Loading

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: