Forum Discussion
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:
- Why does RLS work in a pure DirectLake model but not after the model becomes composite (with DirectQuery)?
- Is this a known limitation of DirectLake/DirectQuery or Composite Models in Power BI?
- 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!
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.
5 Replies
- Akash_Varuna
Super User
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.
- AnonymousNot applicable
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 TeamIf this post helps then please mark it as a solution, so that other members find it more quickly.
Thank you.
- AnonymousNot applicable
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.- AnonymousNot applicable
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.