<?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 Re: System generated Service Principal -App in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/system-generated-service-principal-app/m-p/167140#M55647</link>
    <description>&lt;P&gt;&lt;STRONG&gt;Step-by-Step Solution&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Step 1: Identify the System Service Principal&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Because system-generated SPs are hidden from the standard Workspace Users UI, you must query it using the Databricks CLI or REST API.&lt;/P&gt;&lt;P&gt;Run this command in the Databricks CLI:&lt;/P&gt;&lt;P&gt;Bash Command -&lt;/P&gt;&lt;P&gt;databricks apps get &amp;lt;your-app-name&amp;gt;&lt;/P&gt;&lt;P&gt;Look for the service_principal_id or service_principal_client_id field in the JSON payload output.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Step 2: Grant ADLS Gen2 RBAC Access in Azure&lt;/STRONG&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Open the &lt;STRONG&gt;Azure Portal&lt;/STRONG&gt; and navigate to your ADLS Gen2 Storage Account.&lt;/LI&gt;&lt;LI&gt;Go to &lt;STRONG&gt;Access Control (IAM)&lt;/STRONG&gt; $\rightarrow$ &lt;STRONG&gt;Add role assignment&lt;/STRONG&gt;.&lt;/LI&gt;&lt;LI&gt;Select &lt;STRONG&gt;Storage Blob Data Contributor&lt;/STRONG&gt; (or &lt;EM&gt;Storage Blob Data Reader&lt;/EM&gt; for read-only schema checks).&lt;/LI&gt;&lt;LI&gt;Assign access to the Client ID retrieved in &lt;STRONG&gt;Step 1&lt;/STRONG&gt;.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;STRONG&gt;Step 3: Grant Unity Catalog Privileges (If using Unity Catalog)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;If your app checks schemas via Unity Catalog External Locations or Volumes, grant permissions directly to the app's Service Principal or service account:&lt;/P&gt;&lt;P&gt;SQL&lt;/P&gt;&lt;P&gt;-- Grant access to the App Service Principal in Databricks&lt;/P&gt;&lt;P&gt;GRANT USE LOCATION ON EXTERNAL LOCATION `&amp;lt;your_external_location_name&amp;gt;` TO `&amp;lt;app-sp-client-id&amp;gt;`;&lt;/P&gt;&lt;P&gt;GRANT READ FILES ON EXTERNAL LOCATION `&amp;lt;your_external_location_name&amp;gt;` TO `&amp;lt;app-sp- client-id&amp;gt;`;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 01 Sep 2026 12:42:15 GMT</pubDate>
    <dc:creator>Satyasai</dc:creator>
    <dc:date>2026-09-01T12:42:15Z</dc:date>
    <item>
      <title>System generated Service Principal -App</title>
      <link>https://community.databricks.com/t5/data-engineering/system-generated-service-principal-app/m-p/167039#M55632</link>
      <description>&lt;P&gt;I created an App and creating agent to generate ETL pipeline through prompts. User interaction is with app, however when I do schema check on ADLS it says user does not have access. I cannot see SP in UI as it is system generated, even though I have provided all access to all workspace users, still issue exist.&lt;/P&gt;</description>
      <pubDate>Tue, 01 Sep 2026 02:36:41 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/system-generated-service-principal-app/m-p/167039#M55632</guid>
      <dc:creator>rkhbo3003</dc:creator>
      <dc:date>2026-09-01T02:36:41Z</dc:date>
    </item>
    <item>
      <title>Re: System generated Service Principal -App</title>
      <link>https://community.databricks.com/t5/data-engineering/system-generated-service-principal-app/m-p/167041#M55633</link>
      <description>&lt;P&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/177778"&gt;@rkhbo3003&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Databricks provisions a dedicated, system generated service principal to act as the App's identity. This service principal evaluates permissions completely independently of any workspace user and hence granting access to &lt;STRONG&gt;all workspace users&lt;/STRONG&gt;&amp;nbsp;does not cover the app. Databricks uses this identity to evaluate the app's permissions independently of any user so the app can only access resources explicitly granted to it. While the SP does not appear in the workspace admin users list, you can find its &lt;STRONG&gt;unique ID&lt;/STRONG&gt; directly on the &lt;STRONG&gt;Authorization&lt;/STRONG&gt; tab of &lt;STRONG&gt;app&lt;/STRONG&gt; in the Databricks UI to use in the GRANT statements for providing access.&lt;/P&gt;&lt;P&gt;You can &lt;STRONG&gt;grant&lt;/STRONG&gt; the app's service principal &lt;STRONG&gt;Unity Catalog privileges&lt;/STRONG&gt; based on how the agent accesses the data&amp;nbsp;to fix the ADLS access issue&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;Managed/External Tables -&lt;/STRONG&gt; If the agent queries existing external tables registered in Unity Catalog that point to ADLS, the SP requires USE CATALOG on the catalog, USE SCHEMA on the schema and SELECT on the table.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Direct File Reads -&lt;/STRONG&gt; If the agent reads files directly from ADLS, you can assign GRANT &lt;STRONG&gt;READ&lt;/STRONG&gt; FILES ON EXTERNAL LOCATION &amp;lt;location_name&amp;gt; TO &amp;lt;app-sp-id&amp;gt; according to the Unity Catalog privileges reference.&lt;BR /&gt;&lt;STRONG&gt;Volumes -&amp;nbsp;&lt;/STRONG&gt;If the data access path goes through a Unity Catalog volume, give GRANT READ VOLUME ON VOLUME &amp;lt;volume_name&amp;gt; TO `&amp;lt;app-sp-id&amp;gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI-CODE lang="markup"&gt;GRANT READ FILES ON EXTERNAL LOCATION &amp;lt;location_name&amp;gt; TO &amp;lt;app-sp-id&amp;gt;
GRANT READ VOLUME ON VOLUME &amp;lt;volume_name&amp;gt; TO `&amp;lt;app-sp-id&amp;gt;&lt;/LI-CODE&gt;</description>
      <pubDate>Tue, 01 Sep 2026 03:17:13 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/system-generated-service-principal-app/m-p/167041#M55633</guid>
      <dc:creator>balajij8</dc:creator>
      <dc:date>2026-09-01T03:17:13Z</dc:date>
    </item>
    <item>
      <title>Re: System generated Service Principal -App</title>
      <link>https://community.databricks.com/t5/data-engineering/system-generated-service-principal-app/m-p/167043#M55635</link>
      <description>&lt;P&gt;I tried that but getting access issues&lt;/P&gt;</description>
      <pubDate>Tue, 01 Sep 2026 03:33:45 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/system-generated-service-principal-app/m-p/167043#M55635</guid>
      <dc:creator>rkhbo3003</dc:creator>
      <dc:date>2026-09-01T03:33:45Z</dc:date>
    </item>
    <item>
      <title>Re: System generated Service Principal -App</title>
      <link>https://community.databricks.com/t5/data-engineering/system-generated-service-principal-app/m-p/167045#M55636</link>
      <description>&lt;P&gt;You can check the&amp;nbsp;&lt;STRONG&gt;authorization mode the app is using&lt;/STRONG&gt;.&amp;nbsp;If the app is configured for &lt;STRONG&gt;user authorization&lt;/STRONG&gt; (acting on behalf of the user) rather than &lt;STRONG&gt;app authorization&lt;/STRONG&gt; (using the service principal’s identity), the effective permissions come from the &lt;STRONG&gt;interacting user&lt;/STRONG&gt;, not the service principal.&amp;nbsp;Error may indicate that the user interacting with the app doesn’t have access to ADLS, even though the service principal does in that case.&lt;/P&gt;&lt;P&gt;You can verify it in the app’s &lt;STRONG&gt;Authorization&lt;/STRONG&gt; tab. If it’s using user authorization, the user will need the same Unity Catalog grants. Check if below grants are provided.&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;GRANT CAN USE ON WAREHOUSE &amp;lt;warehouse_name&amp;gt; TO `&amp;lt;app-sp-id&amp;gt;`;

GRANT USE CATALOG ON CATALOG &amp;lt;catalog_name&amp;gt; TO `&amp;lt;app-sp-id&amp;gt;`;
GRANT USE SCHEMA ON SCHEMA &amp;lt;catalog_name&amp;gt;.&amp;lt;schema_name&amp;gt; TO `&amp;lt;app-sp-id&amp;gt;`;

GRANT SELECT ON TABLE &amp;lt;catalog_name&amp;gt;.&amp;lt;schema_name&amp;gt;.&amp;lt;table_name&amp;gt; TO `&amp;lt;app-sp-id&amp;gt;`;

GRANT READ FILES ON EXTERNAL LOCATION &amp;lt;external_location_name&amp;gt; TO `&amp;lt;app-sp-id&amp;gt;`;

GRANT CREATE EXTERNAL TABLE ON EXTERNAL LOCATION &amp;lt;external_location_name&amp;gt; TO `&amp;lt;app-sp-id&amp;gt;`;
GRANT CREATE TABLE ON SCHEMA &amp;lt;catalog_name&amp;gt;.&amp;lt;schema_name&amp;gt; TO `&amp;lt;app-sp-id&amp;gt;`;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;Check if the &lt;STRONG&gt;correct SP&lt;/STRONG&gt; id is used in all grants&lt;/P&gt;</description>
      <pubDate>Tue, 01 Sep 2026 03:54:43 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/system-generated-service-principal-app/m-p/167045#M55636</guid>
      <dc:creator>balajij8</dc:creator>
      <dc:date>2026-09-01T03:54:43Z</dc:date>
    </item>
    <item>
      <title>Re: System generated Service Principal -App</title>
      <link>https://community.databricks.com/t5/data-engineering/system-generated-service-principal-app/m-p/167140#M55647</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Step-by-Step Solution&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Step 1: Identify the System Service Principal&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Because system-generated SPs are hidden from the standard Workspace Users UI, you must query it using the Databricks CLI or REST API.&lt;/P&gt;&lt;P&gt;Run this command in the Databricks CLI:&lt;/P&gt;&lt;P&gt;Bash Command -&lt;/P&gt;&lt;P&gt;databricks apps get &amp;lt;your-app-name&amp;gt;&lt;/P&gt;&lt;P&gt;Look for the service_principal_id or service_principal_client_id field in the JSON payload output.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Step 2: Grant ADLS Gen2 RBAC Access in Azure&lt;/STRONG&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Open the &lt;STRONG&gt;Azure Portal&lt;/STRONG&gt; and navigate to your ADLS Gen2 Storage Account.&lt;/LI&gt;&lt;LI&gt;Go to &lt;STRONG&gt;Access Control (IAM)&lt;/STRONG&gt; $\rightarrow$ &lt;STRONG&gt;Add role assignment&lt;/STRONG&gt;.&lt;/LI&gt;&lt;LI&gt;Select &lt;STRONG&gt;Storage Blob Data Contributor&lt;/STRONG&gt; (or &lt;EM&gt;Storage Blob Data Reader&lt;/EM&gt; for read-only schema checks).&lt;/LI&gt;&lt;LI&gt;Assign access to the Client ID retrieved in &lt;STRONG&gt;Step 1&lt;/STRONG&gt;.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;STRONG&gt;Step 3: Grant Unity Catalog Privileges (If using Unity Catalog)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;If your app checks schemas via Unity Catalog External Locations or Volumes, grant permissions directly to the app's Service Principal or service account:&lt;/P&gt;&lt;P&gt;SQL&lt;/P&gt;&lt;P&gt;-- Grant access to the App Service Principal in Databricks&lt;/P&gt;&lt;P&gt;GRANT USE LOCATION ON EXTERNAL LOCATION `&amp;lt;your_external_location_name&amp;gt;` TO `&amp;lt;app-sp-client-id&amp;gt;`;&lt;/P&gt;&lt;P&gt;GRANT READ FILES ON EXTERNAL LOCATION `&amp;lt;your_external_location_name&amp;gt;` TO `&amp;lt;app-sp- client-id&amp;gt;`;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 01 Sep 2026 12:42:15 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/system-generated-service-principal-app/m-p/167140#M55647</guid>
      <dc:creator>Satyasai</dc:creator>
      <dc:date>2026-09-01T12:42:15Z</dc:date>
    </item>
  </channel>
</rss>

