Don't miss your chance to take the Fabric Data Engineer (DP-700) exam on us!
Learn moreWe've captured the moments from FabCon & SQLCon that everyone is talking about, and we are bringing them to the community, live and on-demand. Starts on April 14th. Register now
Actual Behavior
Observations
Questions
Hi @Pravanjan,
I agree with @rohit1991 here. The best way to do this is to create your roles in your model, and then assign specific security groups to those roles in the report security settings once published.
Trying to decode group membership inside the report is asking for trouble.
Proud to be a Super User! | |
Hi @Pravanjan , Yes, this is by design. Power BI's USERPRINCIPALNAME() function returns only the signed-in user's email/UPN — it has no built-in capability to resolve Entra ID (Azure AD) Security Group memberships at query time. DAX has no Graph API access, so group membership cannot be evaluated dynamically inside RLS filters.
Entra ID Security Groups cannot be used directly in RLS role definitions for dynamic filtering.
You can make use of the Azure Ad connector in PBI to hit your domain and extract the ad group details (This will work locally but to make it work in service you need to set up the gateway) you need to get the user -> group mapping data
UserGroupMapping
fact table :
Relationship :
UserGroupMapping mapping to Fact (Many to Many UserGroupMapping table filters fact )
Crate a role :
Dynamie RLS and add the dax to filter
[AccessGroup] IN
CALCULATETABLE(
VALUES(UserGroupMapping[GroupName]),
UserGroupMapping[UserEmail] = USERPRINCIPALNAME()
)
Thanks
Hi Nataraj,
For me, I created dashboard and published in powerbi workspace. I need to embeded in java application with SSO. How it possible. Do I need to register for token. Kindly provide steps to follow. How to handle single sign on and RLS.
New
Hi @Jamuna15,
If you have a new question, I'd recommend you create a new post for it so that answer's don't get confusing. Trying to answer two different questions in the same thread will lead to confusion and no one will get answers.
Proud to be a Super User! | |
Hii @Pravanjan
Power BI Dynamic RLS works with user identity (USERPRINCIPALNAME) and does not natively resolve Entra ID Security Group membership in DAX, so group-only tables won’t work directly. Entra groups are supported only for assigning roles in the service, not for dynamic evaluation inside the model. The recommended approach is to expand groups into user-level mappings (via ETL/API) and use that table for RLS; fully dynamic group-based RLS without this step is not currently supported.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
| User | Count |
|---|---|
| 29 | |
| 23 | |
| 16 | |
| 14 | |
| 13 |