Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Yousra
Advocate I
Advocate I

Security: RLS & filters

Hello,

 

We would like to share our report with 3000 different users. Each user has to see his related data only.

If we use RLS to achieve this, the role is based on the user's id so we need to create 3 000 roles in Power BI Desktop and assign 3000 roles to 3000 users in Power BI Service which is hard to do manually. 

 

Question 1: Is there a way we can create the roles and maintain them in a dynamic way (by using a script for example)?

 

 

Question 2: Is there a different way we can achieve this ? Can we use filters only and share the reports in a way that each user sees the report with a predefined filter that he can't change ?

 

Question 3: Can we use Power BI Report Server to achieve the same goal? If yes, how ? 

 

 

Thanks

 

 

 

1 ACCEPTED SOLUTION
henriquesilveir
Resolver IV
Resolver IV

@Yousra hello, the better choice i hope that is integrating your AD with PBI, using RLS.

 

about your's question:

 

Question 1: Is there a way we can create the roles and maintain them in a dynamic way (by using a script for example)?

 

https://www.fourmoo.com/2018/02/20/dynamic-row-level-security-is-easy-with-active-directory-security...

 

This article you will learn how to integrate an AD to make a dynamic RLS using security groups.

 

 

Question 2: Is there a different way we can achieve this ? Can we use filters only and share the reports in a way that each user sees the report with a predefined filter that he can't change ?

 

You can filter the report using your URL, take a look these articles:

 

Filter a report using query string parameters in the URL

https://docs.microsoft.com/pt-br/power-bi/service-url-filters

https://powerbi.microsoft.com/en-us/blog/power-bi-report-url-filter-improvements/

 

 

 

Question 3: Can we use Power BI Report Server to achieve the same goal? If yes, how ? 

 

when you said Report Server, you till looking to use SSAS, correctly? because if you want to do in report server, Microsoft announced at this years Ignite that Row Level Security will come in the November/December Release of Power BI Report Server.

 

If you wan to use SSAS:  http://bifuture.blogspot.com/2011/09/ssas-setup-dynamic-security-in-analysis.html

 

let me know if you need something more...

 

Don't forget to mark this post as solution if you got it,

 

Best Regards, 

 

 

View solution in original post

3 REPLIES 3
henriquesilveir
Resolver IV
Resolver IV

@Yousra hello, the better choice i hope that is integrating your AD with PBI, using RLS.

 

about your's question:

 

Question 1: Is there a way we can create the roles and maintain them in a dynamic way (by using a script for example)?

 

https://www.fourmoo.com/2018/02/20/dynamic-row-level-security-is-easy-with-active-directory-security...

 

This article you will learn how to integrate an AD to make a dynamic RLS using security groups.

 

 

Question 2: Is there a different way we can achieve this ? Can we use filters only and share the reports in a way that each user sees the report with a predefined filter that he can't change ?

 

You can filter the report using your URL, take a look these articles:

 

Filter a report using query string parameters in the URL

https://docs.microsoft.com/pt-br/power-bi/service-url-filters

https://powerbi.microsoft.com/en-us/blog/power-bi-report-url-filter-improvements/

 

 

 

Question 3: Can we use Power BI Report Server to achieve the same goal? If yes, how ? 

 

when you said Report Server, you till looking to use SSAS, correctly? because if you want to do in report server, Microsoft announced at this years Ignite that Row Level Security will come in the November/December Release of Power BI Report Server.

 

If you wan to use SSAS:  http://bifuture.blogspot.com/2011/09/ssas-setup-dynamic-security-in-analysis.html

 

let me know if you need something more...

 

Don't forget to mark this post as solution if you got it,

 

Best Regards, 

 

 

nirvana_moksh
Impactful Individual
Impactful Individual

You dont have to create 3000 roles on the Desktop, you can use Username() function against the column containing the user's email id's while defining the role.

 

On the Service as well you can just add the applicable Group which contains all the users. For instance Finance, HR, Legal etc, that will greatly limit the number of people you have to associate the RLS with individually.

Also you will need something in your data mapping the user to what "items" they have access to,  Typically you create a security data table and create a relationship between that and the data you want to secure.

 

 

Look ar something like this http://angryanalyticsblog.azurewebsites.net/index.php/2016/12/27/dynamic-rls-via-hierarchy-in-power-...

 

or do a search on dynamic row level security for power bo or tabular analysis services

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors
Top Kudoed Authors