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

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
manvishah17
Responsive Resident
Responsive Resident

RLS Not Applying to DirectLake Tables After Model Becomes Composite Model

Hi Community,

 

We’re working with a Lakehouse in Microsoft Fabric, and our Power BI report is connected to it using DirectLake mode. All our tables come directly from the Lakehouse, and Row-Level Security (RLS) is working perfectly — both static and dynamic RLS are functional when we use a mapping table that’s also in DirectLake mode.

However, we encountered an issue:

  • We tried importing the mapping table into the Power BI model instead of keeping it in DirectLake mode.
  • As expected, this changed the model to a Composite Model.
  • Once the model became composite, all the DirectLake tables were automatically converted to DirectQuery mode.
  • After this change, in the RLS roles configuration, we could only see the imported table, and not the other tables from the Lakehouse (now in DirectQuery mode).
  • This prevents us from applying RLS to any of the tables that were originally in DirectLake mode.

    Can someone please help explain:

    1. Why does RLS work in a pure DirectLake model but not after the model becomes composite (with DirectQuery)?
    2. Is this a known limitation of DirectLake/DirectQuery or Composite Models in Power BI?
    3. Are there any recommended workarounds if we need to import a mapping table for RLS but still want to enforce RLS on the rest of the Lakehouse tables?

      Any insights or best practices would be greatly appreciated.

      Thanks in advance!

1 ACCEPTED SOLUTION
Akash_Varuna
Community Champion
Community Champion

Hi @manvishah17  It is because when a DirectLake model becomes a Composite Model, all DirectLake tables switch to DirectQuery mode, and RLS in Power BI cannot directly apply to DirectQuery tables. RLS only works on imported tables in Composite Models. To resolve this, keep the mapping table in DirectLake mode, implement RLS at the data source, or use a lightweight DirectLake RLS table Or preprocess data using Power BI Dataflows to enforce RLS.

View solution in original post

5 REPLIES 5
v-mdharahman
Community Support
Community Support

Hi @manvishah17,

Thanks for reaching out to the Microsoft fabric community forum.

It looks like after changing the inport mode the model becomes a composite model, all other tables (which used to be DirectLake but are now DirectQuery) are not available for RLS filtering. As @Akash_Varuna already responded to your query, please go through the points he mentioned in his response and check if it solves your issue.

 

I would also take a moment to thank @Akash_Varuna, for actively participating in the community forum and for the solutions you’ve been sharing in the community forum. Your contributions make a real difference.

 

If I misunderstand your needs or you still have problems on it, please feel free to let us know.  

Best Regards,
Hammad.
Community Support Team

 

If this post helps then please mark it as a solution, so that other members find it more quickly.

Thank you.

Hi @manvishah17,

As we haven’t heard back from you, so just following up to our previous message. I'd like to confirm if you've successfully resolved this issue or if you need further help.

If yes, you are welcome to share your workaround and mark it as a solution so that other users can benefit as well. If you find a reply particularly helpful to you, you can also mark it as a solution.


If you still have any questions or need more support, please feel free to let us know. We are more than happy to continue to help you.
Thank you for your patience and look forward to hearing from you.

Hi @manvishah17,

I wanted to check if you had the opportunity to review the information provided. Please feel free to contact us if you have any further questions. If my response has addressed your query, please accept it as a solution so that other community members can find it easily.


Thank you.

Hi @manvishah17,

May I ask if you have resolved this issue? If so, please mark the helpful reply and accept it as the solution. This will be helpful for other community members who have similar problems to solve it faster.

 

Thank you.

Akash_Varuna
Community Champion
Community Champion

Hi @manvishah17  It is because when a DirectLake model becomes a Composite Model, all DirectLake tables switch to DirectQuery mode, and RLS in Power BI cannot directly apply to DirectQuery tables. RLS only works on imported tables in Composite Models. To resolve this, keep the mapping table in DirectLake mode, implement RLS at the data source, or use a lightweight DirectLake RLS table Or preprocess data using Power BI Dataflows to enforce RLS.

Helpful resources

Announcements
June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

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