Forum Discussion
RLS in Composite Model
- 1 year ago
Hi Mohan_Vanku,
Thank you for posting your question.
From the scenario you described, the behavior you’re seeing is expected. While Dynamic RLS works within each individual dataset, it doesn’t carry over seamlessly when you bring multiple secured datasets together in a composite model.
RLS applied on a published dataset is enforced only when that dataset is queried directly. In a composite model with multiple datasets, RLS does not automatically propagate across all sources, which is why you’re seeing inconsistent behavior. In addition, any local tables you add to the composite model are not covered by the RLS rules defined in the source datasets.
As a workaround, the recommended approach is to centralize your RLS implementation in a single consolidated dataset and connect reports directly to that model. If consolidating datasets is not possible, you may need to manage access using Azure AD Security Groups or workspace/dataset permissions instead. It is also advisable to avoid mixing multiple RLS-enabled datasets in a composite model until broader support is made available.
For more details, you can review the official documentations Below:
Row-level security (RLS) with Power BI - Microsoft Fabric | Microsoft Learn
Use composite models in Power BI Desktop - Power BI | Microsoft Learn
Using standard cloud based row-level security with embedded content in Power BI embedded analytics - Power BI | Microsoft Learn
Thank you and Continue using Microsoft Fabric Community Forum.
In Power BI composite models, RLS defined in the source datasets does not automatically apply, so dynamic RLS works only within each individual dataset. The recommended approach is to use RLS at the source dataset level, and for any local or imported tables in the composite model, replicate the same RLS logic separately. To maintain consistency across datasets, use shared dimensions like User or Region, as cross-dataset RLS inheritance may not supported.