<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Complex Data Engineering Issue: Inconsistent Role Enforcement When Using Snowflake PATs in Fabric in Data Engineering</title>
    <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Complex-Data-Engineering-Issue-Inconsistent-Role-Enforcement/m-p/4899712#M14002</link>
    <description>&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;I'm encountering an unexpected and potentially critical security behavior when using Snowflake PATs with Microsoft Fabric connections, and I’d appreciate help validating whether this is expected or a bug.&lt;/P&gt;&lt;P&gt;🟦 Scenario&lt;BR /&gt;I have 4 business units, each with its own Snowflake shared database.&lt;/P&gt;&lt;P&gt;Each business unit has a dedicated role that grants access only to its database.&lt;/P&gt;&lt;P&gt;A service account was created in Snowflake.&lt;/P&gt;&lt;P&gt;I generated 4 PATs, each manually restricted to one specific role using Snowflake's role restriction for PATs.&lt;/P&gt;&lt;P&gt;In Fabric, I created 4 separate Snowflake connections, each using:&lt;/P&gt;&lt;P&gt;Username → service account&lt;/P&gt;&lt;P&gt;Password → one of the PATs (each tied to a different restricted role)&lt;/P&gt;&lt;P&gt;Expectation:&lt;BR /&gt;Each Fabric connection should only see one database, aligned with its PAT’s assigned role.&lt;/P&gt;&lt;P&gt;🟥 Problem&lt;BR /&gt;Regardless of which PAT I use, all 4 Fabric connections show ALL databases during:&lt;/P&gt;&lt;P&gt;Data Pipeline Copy operations&lt;/P&gt;&lt;P&gt;Dataflow Gen2 connections&lt;/P&gt;&lt;P&gt;Any Fabric item connecting to Snowflake&lt;/P&gt;&lt;P&gt;It seems Fabric is using only the service account’s default role, completely ignoring the PAT role restriction, which defeats the purpose of creating role-specific PATs.&lt;/P&gt;&lt;P&gt;🟩 What I verified&lt;BR /&gt;In Snowflake: each PAT is correctly restricted to a single role&lt;/P&gt;&lt;P&gt;In Snowflake UI: PAT mappings show proper PAT → role_restriction associations&lt;/P&gt;&lt;P&gt;In Fabric: re-creating the connections doesn’t change the behavior&lt;/P&gt;&lt;P&gt;Testing from Snowflake CLI: PATs respect role restrictions properly outside Fabric&lt;/P&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":question_mark:"&gt;❓&lt;/span&gt; Questions&lt;BR /&gt;Does Fabric currently ignore Snowflake PAT role restrictions?&lt;BR /&gt;If so, this represents a major security gap.&lt;/P&gt;&lt;P&gt;Is this an acknowledged Fabric bug, or is there a known limitation where Fabric always uses the user’s default role instead of the PAT’s restricted role?&lt;/P&gt;&lt;P&gt;Is the only workaround manually selecting the role in Advanced Options every time a new data movement is created?&lt;/P&gt;&lt;P&gt;Has anyone successfully used PAT-level role restrictions in Fabric with enforced row-level or DB-level isolation?&lt;/P&gt;&lt;P&gt;Any guidance or validation would be extremely helpful — this impacts our data isolation design.&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;</description>
    <pubDate>Thu, 11 Dec 2025 12:24:50 GMT</pubDate>
    <dc:creator>SavioFerraz</dc:creator>
    <dc:date>2025-12-11T12:24:50Z</dc:date>
    <item>
      <title>Complex Data Engineering Issue: Inconsistent Role Enforcement When Using Snowflake PATs in Fabric</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Complex-Data-Engineering-Issue-Inconsistent-Role-Enforcement/m-p/4899712#M14002</link>
      <description>&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;I'm encountering an unexpected and potentially critical security behavior when using Snowflake PATs with Microsoft Fabric connections, and I’d appreciate help validating whether this is expected or a bug.&lt;/P&gt;&lt;P&gt;🟦 Scenario&lt;BR /&gt;I have 4 business units, each with its own Snowflake shared database.&lt;/P&gt;&lt;P&gt;Each business unit has a dedicated role that grants access only to its database.&lt;/P&gt;&lt;P&gt;A service account was created in Snowflake.&lt;/P&gt;&lt;P&gt;I generated 4 PATs, each manually restricted to one specific role using Snowflake's role restriction for PATs.&lt;/P&gt;&lt;P&gt;In Fabric, I created 4 separate Snowflake connections, each using:&lt;/P&gt;&lt;P&gt;Username → service account&lt;/P&gt;&lt;P&gt;Password → one of the PATs (each tied to a different restricted role)&lt;/P&gt;&lt;P&gt;Expectation:&lt;BR /&gt;Each Fabric connection should only see one database, aligned with its PAT’s assigned role.&lt;/P&gt;&lt;P&gt;🟥 Problem&lt;BR /&gt;Regardless of which PAT I use, all 4 Fabric connections show ALL databases during:&lt;/P&gt;&lt;P&gt;Data Pipeline Copy operations&lt;/P&gt;&lt;P&gt;Dataflow Gen2 connections&lt;/P&gt;&lt;P&gt;Any Fabric item connecting to Snowflake&lt;/P&gt;&lt;P&gt;It seems Fabric is using only the service account’s default role, completely ignoring the PAT role restriction, which defeats the purpose of creating role-specific PATs.&lt;/P&gt;&lt;P&gt;🟩 What I verified&lt;BR /&gt;In Snowflake: each PAT is correctly restricted to a single role&lt;/P&gt;&lt;P&gt;In Snowflake UI: PAT mappings show proper PAT → role_restriction associations&lt;/P&gt;&lt;P&gt;In Fabric: re-creating the connections doesn’t change the behavior&lt;/P&gt;&lt;P&gt;Testing from Snowflake CLI: PATs respect role restrictions properly outside Fabric&lt;/P&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":question_mark:"&gt;❓&lt;/span&gt; Questions&lt;BR /&gt;Does Fabric currently ignore Snowflake PAT role restrictions?&lt;BR /&gt;If so, this represents a major security gap.&lt;/P&gt;&lt;P&gt;Is this an acknowledged Fabric bug, or is there a known limitation where Fabric always uses the user’s default role instead of the PAT’s restricted role?&lt;/P&gt;&lt;P&gt;Is the only workaround manually selecting the role in Advanced Options every time a new data movement is created?&lt;/P&gt;&lt;P&gt;Has anyone successfully used PAT-level role restrictions in Fabric with enforced row-level or DB-level isolation?&lt;/P&gt;&lt;P&gt;Any guidance or validation would be extremely helpful — this impacts our data isolation design.&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;</description>
      <pubDate>Thu, 11 Dec 2025 12:24:50 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Complex-Data-Engineering-Issue-Inconsistent-Role-Enforcement/m-p/4899712#M14002</guid>
      <dc:creator>SavioFerraz</dc:creator>
      <dc:date>2025-12-11T12:24:50Z</dc:date>
    </item>
    <item>
      <title>Re: Complex Data Engineering Issue: Inconsistent Role Enforcement When Using Snowflake PATs in Fabri</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Complex-Data-Engineering-Issue-Inconsistent-Role-Enforcement/m-p/4899962#M14008</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Fabric currently ignores snowflake PAT role restrictions. Fabric authenticates using the underlying Snowflake user, not the PAT’s role binding. It then issues queries without explicitly setting the role, so Snowflake falls back to the user’s default role. This is a known limitation, not documented well, and it is effectively a role-enforcement bypass when you rely on PAT-level restrictions.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Not publicly acknowledged as a bug, but it aligns with existing Fabric–Snowflake connector behaviour: Fabric does not send USE ROLE &amp;lt;role&amp;gt; unless you explicitly set it in advanced options.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Workarounds available as of today:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;Manually set the role in every pipeline, dataflow, and dataset using the advanced connection string options. Painful, but reliable.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;Create separate Snowflake users per business unit and issue PATs for those users. This is the only fully isolated pattern Fabric respects right now.&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;No, there is no successful pattern today where PAT-level role restrictions alone enforce isolation in Fabric. Role-restricted PATs do not work as intended in Fabric today. If isolation is critical, you must use separate Snowflake users or enforce the role explicitly in every Fabric item.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 11 Dec 2025 16:02:25 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Complex-Data-Engineering-Issue-Inconsistent-Role-Enforcement/m-p/4899962#M14008</guid>
      <dc:creator>Vinodh247</dc:creator>
      <dc:date>2025-12-11T16:02:25Z</dc:date>
    </item>
  </channel>
</rss>

