Row Level security in MS teams

Hi all,

For a current assignment I would like to implement a report with RLS in mircosoft teams environment.

The picture is as follows:

  • There is a main client, which has a lot of subcontractors working for them.
  • Every subcontractor has his own team-environment, which is hosted by the main client
  • The main client has acces to every team, but every individual subcontractor only has acces to it’s own team environment
  • The previous bullet is the same thing I would like to achieve with Row level security, while sharing the same report seperately in every team (company a sees only company a, b sees b, main contractor sees a + b )

I thought RLS would be the perfect fit for this, but it didn’t worked out as I expected unfortunately. When I set up the RLS in Power Bi service and add it to MS teams, RLS simply doesn’t work.

I have found an article in the Power BI community, which works. However, this is an incovenient way of solving the problem, since everyone (which could be around 40+ people) need to ask / get permission.
see link: https://community.powerbi.com/t5/Service/Teams-and-RLS/m-p/576291

Anyone knows how to solve the problem without the above suggested work-around? So that company a sees a, b sees b, main contractor sees all ; all working within the MS teams environment.

Thanks in advance

Kind regards,
Pim Meesters

Hi @DashboardingMeesters ! We noticed that your inquiry was left unsolved for quite some time now.

Looks like your inquiry was out of the experts and users’ bounds.

We strive to answer ALL inquiries in the forum. However, if you are sure that you provided all pertinent context to your concerns and read how to use the forum more effectively and still find your question unanswered, you can check out tutorials to learn this yourself as your membership also comes with relevant resources that may help you with your Power BI education.

While our users and experts do as much as reasonable to help you with your inquiries, not all concerns can be attended to especially if there are some learnings to be done. Thank you!

@DashboardingMeesters - How have you implemented RLS? Have you used static RLS or Dynamic RLS? Also, for each role, have you used Security Groups to assign roles to each company. While it is easy to create separate roles for each sub-contractors if the number of sub-contractors were few, you might want to consider Dynamic RLS using a separate table. Have you used USERNAME or USERPRINCIPLENAME while defining roles. Check out the below link for your quick reference. I have implemented RLS using MS Teams in a similar scenario as yours without any issues.

What Do You Need to Implement Dynamic Row-Level Security in Power BI? - RADACAD

Hi @pranamg , really appreciate it that you respond to my problem. In the meantime I already visited the client and solved it basically in the way suggested in the link I provided myself. So:

  1. Set up a seperate workspace and publish dataset and report to this workspace.
  2. Invited everyone that needs acces (if you have 100+ people you might want to think about another option…) and none of them received any email. This was positive in this case, since we were just setting up the environment and not all the members were aware about the development of the dasboard. So if they receive emails like ‘You are added to workspace… by …’ they would probably have been confused.
  3. Implemented static RLS by assigned email adresses to roles
  4. Published this report into all the seperate team enviroments
  5. Works exactly has hoped ; Company A sees info of Company A, B of B and Main contractor can see everything.

Anyway, thanks for response and also the link you provided. Will definetely look into that.

For now I will close the topic :slight_smile: