Forum Discussion

MahdiG's avatar
MahdiG
Frequent Visitor
4 months ago
Solved

Microsoft Fabric Data Agent and Row Level Security (RLS)

Hi everyone,

I’m facing an issue with Fabric Data Agent + RLS on a Snowflake Mirrored Database and I’d like to know whether this is an expected limitation or a bug.

Scenario

  • I have a Snowflake Mirrored Database in Microsoft Fabric

  • The mirrored database is shared with an LoB user

  • I applied RLS on the CUSTOMER table

  • I granted the user access at the schema level

  • The user created a Data Agent on top of the mirrored database schema

What works

  • The user can query other tables through the Data Agent

  • The user can also run a direct SELECT on the CUSTOMER table in the SQL endpoint

  • RLS is working correctly in direct SQL, so the user only sees the rows they are supposed to see

What does not work
When asking the Data Agent questions about the CUSTOMER table, the agent returns a permission-style message like:

“I tried to check the total number of customers, but I was unable to access the data due to a permission error. If you need this information, please check your database permissions or contact your administrator.”

Important point
This does not look like a basic SQL permission issue, because:

  • the user already has schema-level access

  • the user can query the RLS-protected table directly

  • the issue only happens through the Data Agent

My question
Does Fabric Data Agent fully support querying tables with RLS/CLS applied on a Snowflake Mirrored Database?
If yes, has anyone seen this behavior before and found a workaround?

I’m trying to understand whether this is:

  1. an expected product limitation,

  2. a metadata/cache issue in the Data Agent,

  3. or a current bug with Data Agent + RLS tables on mirrored databases.

Thanks

  • Hi MahdiG,

     

    Thank you for reaching out to Microsoft Fabric Community.

     

    Based on your requirement, this behaviour is expected. Currently RLS works correctly when querying through the sql endpoint, but it may not fully supported when accessed via the data agent, especially for mirrored databases like Snowflake.

    If possible, please use the sql endpoint or a semantic model where RLS is required.

    If this capability is required, please raise a Microsoft support ticket so the product team can investigate further.

    Create a Fabric and Power BI Support Ticket - Power BI | Microsoft Learn

     

    Thanks and regards,

    Anjan Kumar Chippa

2 Replies

  • v-achippa's avatar
    v-achippa
    Community Support

    Hi MahdiG,

     

    Thank you for reaching out to Microsoft Fabric Community.

     

    Based on your requirement, this behaviour is expected. Currently RLS works correctly when querying through the sql endpoint, but it may not fully supported when accessed via the data agent, especially for mirrored databases like Snowflake.

    If possible, please use the sql endpoint or a semantic model where RLS is required.

    If this capability is required, please raise a Microsoft support ticket so the product team can investigate further.

    Create a Fabric and Power BI Support Ticket - Power BI | Microsoft Learn

     

    Thanks and regards,

    Anjan Kumar Chippa