Forum Discussion

manvishah17's avatar
manvishah17
Icon for Solution Supplier rankSolution Supplier
1 year ago
Solved

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!

  • 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

  • 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.

  • Anonymous's avatar
    Anonymous
    Not 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 Team

     

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

    Thank you.

    • Anonymous's avatar
      Anonymous
      Not 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.

      • Anonymous's avatar
        Anonymous
        Not 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.