<?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>All Administration &amp; Architecture posts</title>
    <link>https://community.databricks.com/t5/administration-architecture/bd-p/administration-and-architecture</link>
    <description>All Administration &amp; Architecture posts</description>
    <pubDate>Tue, 21 Jul 2026 01:58:21 GMT</pubDate>
    <dc:creator>administration-and-architecture</dc:creator>
    <dc:date>2026-07-21T01:58:21Z</dc:date>
    <item>
      <title>Re: Workload Identity Federation on ADO for account level provider</title>
      <link>https://community.databricks.com/t5/administration-architecture/workload-identity-federation-on-ado-for-account-level-provider/m-p/163555#M5446</link>
      <description>&lt;P&gt;You are using:&lt;/P&gt;&lt;P&gt;Azure-style host: &lt;A href="https://accounts.azuredatabricks.net" target="_blank"&gt;https://accounts.azuredatabricks.net&lt;/A&gt;&lt;BR /&gt;Azure env vars: ARM_CLIENT_ID, ARM_TENANT_ID&lt;BR /&gt;Plus DATABRICKS_CLIENT_ID&lt;BR /&gt;That often makes the SDK try a different OIDC flow than intended (hitting /oidc/accounts/&amp;lt;id&amp;gt;/v1/token) and failing with EOF.&lt;/P&gt;&lt;P&gt;Also, your doc link is under .../aws/..., which may not match your Azure Databricks account setup.&lt;/P&gt;&lt;P&gt;Fix checklist&lt;BR /&gt;1) Use the correct cloud flow&lt;BR /&gt;If this is Azure Databricks, use Azure-specific auth guidance (not AWS path).&lt;/P&gt;&lt;P&gt;If this is actually Databricks on AWS, your account host should be:&lt;/P&gt;&lt;P&gt;&lt;A href="https://accounts.cloud.databricks.com" target="_blank"&gt;https://accounts.cloud.databricks.com&lt;/A&gt; and you should not use ARM_* vars.&lt;BR /&gt;2) Do not mix auth methods&lt;BR /&gt;Pick one method only. For Azure workload identity, avoid mixing with unrelated Databricks OAuth vars.&lt;/P&gt;&lt;P&gt;Try removing DATABRICKS_CLIENT_ID first and keep only the Azure WIF-required vars + Databricks host/account settings.&lt;/P&gt;&lt;P&gt;3) Minimal account-level env (Azure pattern)&lt;BR /&gt;DATABRICKS_HOST=&lt;A href="https://accounts.azuredatabricks.net" target="_blank"&gt;https://accounts.azuredatabricks.net&lt;/A&gt;&lt;BR /&gt;DATABRICKS_ACCOUNT_ID=&amp;lt;account_id&amp;gt;&lt;BR /&gt;Azure WIF vars from your pipeline/service connection (client/tenant/OIDC token)&lt;BR /&gt;Optional: set explicit auth type if your tooling supports it&lt;BR /&gt;4) Validate with CLI debug&lt;BR /&gt;Run below cli command -&lt;BR /&gt;databricks auth env --debug&lt;BR /&gt;Then test an account API call:&lt;/P&gt;&lt;P&gt;cli command -&lt;BR /&gt;databricks account users list --debug&lt;/P&gt;&lt;P&gt;5) If still EOF, check network/proxy&lt;BR /&gt;EOF can also be proxy/TLS interruption to accounts.azuredatabricks.net. Test from agent:&lt;/P&gt;&lt;P&gt;cli command -&lt;BR /&gt;curl -v &lt;A href="https://accounts.azuredatabricks.net" target="_blank"&gt;https://accounts.azuredatabricks.net&lt;/A&gt;&lt;/P&gt;&lt;P&gt;If blocked, fix proxy/no_proxy/firewall rules.&lt;/P&gt;</description>
      <pubDate>Mon, 20 Jul 2026 19:34:51 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/workload-identity-federation-on-ado-for-account-level-provider/m-p/163555#M5446</guid>
      <dc:creator>zubisid19</dc:creator>
      <dc:date>2026-07-20T19:34:51Z</dc:date>
    </item>
    <item>
      <title>Workload Identity Federation on ADO for account level provider</title>
      <link>https://community.databricks.com/t5/administration-architecture/workload-identity-federation-on-ado-for-account-level-provider/m-p/163547#M5445</link>
      <description>&lt;P&gt;I am using Workload Identity Federation for ADO pipelines to authenticate to databricks.&lt;/P&gt;&lt;P&gt;I followed&amp;nbsp;&lt;A href="https://docs.databricks.com/aws/en/dev-tools/auth/provider-azure-devops" target="_blank"&gt;https://docs.databricks.com/aws/en/dev-tools/auth/provider-azure-devops&lt;/A&gt;&lt;/P&gt;&lt;P&gt;It works with workspace url but doesn't work with account level url.&lt;/P&gt;&lt;P&gt;I get error: failed during request visitor: default auth: Post "&lt;A href="https://accounts.azuredatabricks.net/oidc/accounts/" target="_blank"&gt;https://accounts.azuredatabricks.net/oidc/accounts/&lt;/A&gt;&amp;lt;accountid&amp;gt;/v1/token": Post&amp;nbsp;"&lt;A href="https://accounts.azuredatabricks.net/oidc/accounts/" target="_blank"&gt;https://accounts.azuredatabricks.net/oidc/accounts/&lt;/A&gt;&amp;lt;accountid&amp;gt;/v1/token": EOF. Config: host=&lt;A href="https://accounts.azuredatabricks.net" target="_blank"&gt;https://accounts.azuredatabricks.net&lt;/A&gt;, account_id=&amp;lt;accountid&amp;gt;, azure_client_id=***, azure_tenant_id=&amp;lt;tenantid&amp;gt;, client_id=***. Env: ARM_CLIENT_ID, ARM_TENANT_ID, DATABRICKS_CLIENT_ID&lt;/P&gt;</description>
      <pubDate>Mon, 20 Jul 2026 17:09:21 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/workload-identity-federation-on-ado-for-account-level-provider/m-p/163547#M5445</guid>
      <dc:creator>eshwari</dc:creator>
      <dc:date>2026-07-20T17:09:21Z</dc:date>
    </item>
    <item>
      <title>Re: Databricks App with Proprietary packages and code</title>
      <link>https://community.databricks.com/t5/administration-architecture/databricks-app-with-proprietary-packages-and-code/m-p/163213#M5439</link>
      <description>&lt;P&gt;Hey Antoine, great questions — this is a common challenge when building commercial apps on Databricks. Let me address each area directly.&lt;/P&gt;&lt;P&gt;The fundamental tradeoff&lt;/P&gt;&lt;P&gt;The core tension here is architectural: when code runs&amp;nbsp;&lt;EM&gt;in the user's workspace&lt;/EM&gt;, it's very hard to fully hide it. Databricks runs the code on their compute, which means the code has to be there in some form. The cleanest way to protect your IP is to keep the sensitive logic in&amp;nbsp;&lt;EM&gt;your&lt;/EM&gt;&amp;nbsp;infrastructure and expose only an API surface to the user's workspace.&lt;/P&gt;&lt;P&gt;For the Streamlit app (Databricks Apps)&lt;/P&gt;&lt;P&gt;The app source files (&lt;SPAN class=""&gt;app.py&lt;/SPAN&gt;, dependencies) are deployed into the user's workspace and are visible. To minimize exposure: compile your sensitive logic into a pre-built&amp;nbsp;&lt;SPAN class=""&gt;.whl&lt;/SPAN&gt;&amp;nbsp;using Cython (compiles Python to C extensions — much harder to reverse than bytecode) and reference it as a dependency instead of shipping raw&amp;nbsp;&lt;SPAN class=""&gt;.py&lt;/SPAN&gt;&amp;nbsp;files. For private package distribution, set&amp;nbsp;&lt;SPAN class=""&gt;PIP_INDEX_URL&lt;/SPAN&gt;&amp;nbsp;in your&amp;nbsp;&lt;SPAN class=""&gt;app.yaml&lt;/SPAN&gt;&amp;nbsp;pointing to a private registry (Azure Artifacts, GitHub Packages, Nexus/Artifactory) and store the credentials as a Databricks Secret referenced via&amp;nbsp;&lt;SPAN class=""&gt;valueFrom&lt;/SPAN&gt;&amp;nbsp;— no hardcoded tokens, no AWS keys required.&lt;/P&gt;&lt;P&gt;For jobs and notebooks&lt;/P&gt;&lt;P&gt;Any notebook or file attached to a job in the user's workspace is visible to that user. The mitigation is the same: replace raw Python source with a pre-built wheel installed at runtime. The job then imports from the wheel rather than running readable source files.&lt;/P&gt;&lt;P&gt;For UDFs&lt;/P&gt;&lt;P&gt;UDF bodies registered in Unity Catalog are stored and queryable — users with&amp;nbsp;&lt;SPAN class=""&gt;USE SCHEMA&lt;/SPAN&gt;&amp;nbsp;can inspect the definition. If your UDF logic is the IP, consider wrapping it in a model serving endpoint call instead of implementing it directly as a SQL/Python UDF.&lt;/P&gt;&lt;P&gt;For ML-heavy tasks&lt;/P&gt;&lt;P&gt;This is actually where Databricks gives you the cleanest story: host your ML models as&amp;nbsp;Model Serving endpoints in your own workspace&amp;nbsp;and expose them via REST. The user's app calls&amp;nbsp;&lt;SPAN class=""&gt;&lt;A href="https://your-workspace.azuredatabricks.net/serving-endpoints/your-model/invocations" target="_blank" rel="noopener"&gt;https://your-workspace.azuredatabricks.net/serving-endpoints/your-model/invocations&lt;/A&gt;&lt;/SPAN&gt;&amp;nbsp;— the model runs on your compute, the user never sees the code or weights, and you control access via API tokens.&lt;/P&gt;&lt;P&gt;For the git/credentials problem&lt;/P&gt;&lt;P&gt;Don't clone at install time if you can avoid it. Pre-build your artifacts (wheels, config files) and distribute them through your private registry. If you absolutely need a git clone step, use Databricks Secrets to store the PAT and reference it at runtime — but know that a sufficiently privileged user on the cluster&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;can&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;read secrets, so this only reduces exposure, it doesn't eliminate it.&lt;/P&gt;&lt;P&gt;Bottom line on Marketplace IP&lt;/P&gt;&lt;P&gt;Databricks does conduct a security review before publishing, but they don't encrypt or obfuscate deployed code on your behalf. The protection is&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;your&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;responsibility at the architecture level. The pattern that genuinely protects IP is: pre-compiled artifacts for the client-side code + remote API/serving endpoints for anything compute-sensitive.&lt;/P&gt;&lt;P&gt;Hope this helps clarify the landscape — happy to go deeper on any of these.&lt;/P&gt;</description>
      <pubDate>Thu, 16 Jul 2026 16:39:37 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/databricks-app-with-proprietary-packages-and-code/m-p/163213#M5439</guid>
      <dc:creator>GabFernandes</dc:creator>
      <dc:date>2026-07-16T16:39:37Z</dc:date>
    </item>
    <item>
      <title>Databricks App with Proprietary packages and code</title>
      <link>https://community.databricks.com/t5/administration-architecture/databricks-app-with-proprietary-packages-and-code/m-p/163212#M5438</link>
      <description>&lt;P&gt;Hello Databricks community,&lt;/P&gt;&lt;P&gt;I have built an application that has a lot of proprietary code and packages that I chose not to show for the public- I just want my service to be accessible for the people who install the application through a Streamlit frontend along with a few notebooks which are meant to be run as 'jobs' for setup and other processes. I'm planning to list my application on the marketplace, and I have a lot of the code and information ready. But I seem to be hitting a dead-end regarding what gets displayed in the user's workspace and catalogs. For example, my app has a bunch of UDFs, generates a few .whl files based on the compute architecture, and a few jobs which appear to be visible on my end when I test the application. My question would be to generally ask; how do I hide my code and packages from the installed user's range of visibility? As of now, I'm able to see most of my code and packages as I install them in my Databricks UI either through catalogs or jobs. Will Databricks make sure my code, and IP is secure while I launch my app to the marketplace? Databricks suggested the best practice to start an app would be to clone the code from a git repo. My repo is private, so how do I get a one-time setup so that only the application can clone my code into its compute and not show it to the user (I've considered GitHub pat tokens, but I just wanted some more ideas)? As a whole, I'm surely confused, at the end of the day, if a certain user accessing my application will be able to access any of the code via the jobs, packages via the volume (if i pip install during setup), or just any kind of IP as a whole? Additionally, I need help understanding the best practices for the following, it would be greatly appreciated: what are the best practices to deploy the code (other than GitHub) and can i just deploy my bundle, to install packages (like code artifact) or can I just plug it into my application somehow (I don't want to give my access keys/ expect my users to have AWS accounts to install my package), how can I make sure my code is not visible through a job and how can i access the user's compute outside the app's compute to run ML heavy tasks? &lt;STRONG&gt;At the end of the day, I want people to be able to use my service on their compute, but I don't want any of my code/data to be revealed to the user.&lt;/STRONG&gt; I have a few questions in the ballpark of this area. Any help would genuinely be appreciated.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks, and Cheers,&lt;/P&gt;&lt;P&gt;Antoine&lt;/P&gt;</description>
      <pubDate>Thu, 16 Jul 2026 16:32:49 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/databricks-app-with-proprietary-packages-and-code/m-p/163212#M5438</guid>
      <dc:creator>antoine_laurent</dc:creator>
      <dc:date>2026-07-16T16:32:49Z</dc:date>
    </item>
    <item>
      <title>Re: No Egress for Serverless Workspace</title>
      <link>https://community.databricks.com/t5/administration-architecture/no-egress-for-serverless-workspace/m-p/163126#M5437</link>
      <description>&lt;P&gt;Greetings&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/242066"&gt;@Janis404&lt;/a&gt;&amp;nbsp;,&amp;nbsp;&lt;/P&gt;
&lt;P class="font-claude-response-body break-words whitespace-normal"&gt;Nice work pulling &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;system.access.outbound_network&lt;/CODE&gt; and narrowing this to serverless. That table is where the answer lives, so let me walk through what it's telling you.&lt;/P&gt;
&lt;P class="font-claude-response-body break-words whitespace-normal"&gt;Read the log rows first:&lt;/P&gt;
&lt;UL class="[li_&amp;amp;]:mb-0 [li_&amp;amp;]:mt-1 [li_&amp;amp;]:gap-1 [&amp;amp;:not(:last-child)_ul]:pb-1 [&amp;amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3"&gt;
&lt;LI class="font-claude-response-body whitespace-normal break-words pl-2"&gt;&lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;access_type&lt;/CODE&gt; is &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;DROP&lt;/CODE&gt;, which is real enforcement, not a dry-run entry (dry-run shows up as &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;DRY_RUN_DENIAL&lt;/CODE&gt;). So egress is being blocked right now, not merely recorded.&lt;/LI&gt;
&lt;LI class="font-claude-response-body whitespace-normal break-words pl-2"&gt;The &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;rcode: 5&lt;/CODE&gt; in the &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;dns_event&lt;/CODE&gt; is a DNS REFUSED. The serverless DNS layer refused the lookup, and that is exactly what produces the Python &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;gaierror [Errno -2] Name or service not known&lt;/CODE&gt;. Your code is fine. The block sits upstream of Python.&lt;/LI&gt;
&lt;LI class="font-claude-response-body whitespace-normal break-words pl-2"&gt;One nuance: denials are logged to this table even when a policy is in Full access mode, so the presence of rows isn't the smoking gun by itself. The &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;DROP&lt;/CODE&gt; verdict is.&lt;/LI&gt;
&lt;/UL&gt;
&lt;P class="font-claude-response-body break-words whitespace-normal"&gt;Now the apparent contradiction: the policy screenshot says "Allow access to all destinations," but &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;google.com&lt;/CODE&gt;, a plain public name, is being dropped. Under a Full access policy that's actually in force, that lookup should succeed. Two things explain the gap, and I'd rule them out in this order.&lt;/P&gt;
&lt;OL class="[li_&amp;amp;]:mb-0 [li_&amp;amp;]:mt-1 [li_&amp;amp;]:gap-1 [&amp;amp;:not(:last-child)_ul]:pb-1 [&amp;amp;:not(:last-child)_ol]:pb-1 list-decimal flex flex-col gap-1 pl-8 mb-3"&gt;
&lt;LI class="font-claude-response-body whitespace-normal break-words pl-2"&gt;The config you're showing may not be the config that was active when those DROP rows were written. Your policy view and your log output aren't necessarily from the same moment, so pin them together: terminate the serverless environment on the notebook (or start a brand-new serverless run rather than reusing one that's still warm), re-run the &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;socket&lt;/CODE&gt; test immediately, then query &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;outbound_network&lt;/CODE&gt; again and confirm whether there are fresh DROP rows for &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;google.com&lt;/CODE&gt; with new timestamps. This also handles the warm-compute angle: network access mode changes apply to newly provisioned serverless compute, not to a session that was already running when you flipped the setting. The "wait 15 minutes" advice was reaching for this, but 15 minutes is optimistic, and a session that never fully recycles can lag much longer.&lt;/LI&gt;
&lt;LI class="font-claude-response-body whitespace-normal break-words pl-2"&gt;If a fresh session still drops it, have an account admin inspect the policy through the account API, CLI, or Terraform and confirm &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;restriction_mode&lt;/CODE&gt; is &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;FULL_ACCESS&lt;/CODE&gt; with no &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;blocked_internet_destinations&lt;/CODE&gt; entries. Databricks lets you block specific domains even while a policy is in Full access mode, so the General tab's radio button doesn't tell the whole story. Check for an entry matching &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;google.com&lt;/CODE&gt; or a broader parent domain. One caveat: a single blocklist entry wouldn't explain your own domains getting dropped too, so if everything is failing, the timing issue above is the likelier culprit than a targeted block.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P class="font-claude-response-body break-words whitespace-normal"&gt;On the NCC: since you called it out, &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;salfy-prod-ncc&lt;/CODE&gt; is almost certainly not behind these particular rows. A private endpoint rule for your Postgres routes that one FQDN privately by matching its hostname; it doesn't produce a &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;DROP&lt;/CODE&gt; for an unrelated public name like &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;google.com&lt;/CODE&gt; in the egress table. The DROP is an egress policy decision, so that's where to look, not the private-connectivity path.&lt;/P&gt;
&lt;P class="font-claude-response-body break-words whitespace-normal"&gt;If you've confirmed Full access on genuinely fresh serverless compute, with no blocked destinations, and it still drops &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;google.com&lt;/CODE&gt;, that no longer matches expected Full access behavior and it's a Support case. Give them everything on the first pass: workspace ID (&lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;dbc-6b9d00ae-0ac6&lt;/CODE&gt;), region &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;eu-central-1&lt;/CODE&gt;, the policy name, the &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;outbound_network&lt;/CODE&gt; rows with their timestamps, and a failing run ID, and state plainly that you're serverless-only and Full access is set.&lt;/P&gt;
&lt;P class="font-claude-response-body break-words whitespace-normal"&gt;Takeaway: the Python &lt;CODE class="bg-text-200/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]"&gt;gaierror&lt;/CODE&gt; is a symptom, not the problem. Your logs already show the serverless egress layer refusing DNS, so the fix is getting a Full access policy actually in force on fresh compute, confirmed by fresh DROP-free rows, before you change anything else. Start with a cold session and matching timestamps.&lt;/P&gt;
&lt;P class="font-claude-response-body break-words whitespace-normal"&gt;Regards,&lt;BR /&gt;Louis&lt;/P&gt;</description>
      <pubDate>Wed, 15 Jul 2026 19:59:47 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/no-egress-for-serverless-workspace/m-p/163126#M5437</guid>
      <dc:creator>Louis_Frolio</dc:creator>
      <dc:date>2026-07-15T19:59:47Z</dc:date>
    </item>
    <item>
      <title>Re: X-Forwarded-Access-Token occasionally return stale values from a previous session</title>
      <link>https://community.databricks.com/t5/administration-architecture/x-forwarded-access-token-occasionally-return-stale-values-from-a/m-p/163111#M5436</link>
      <description>&lt;P class="PDq2pG_selectionAnchorContainer" data-end="113" data-start="0"&gt;This almost always turns out to be &lt;CODE data-end="54" data-start="35"&gt;st.cache_resource&lt;/CODE&gt; on the connection, not the reverse proxy reusing anything.&lt;/P&gt;
&lt;P data-end="584" data-start="115"&gt;You said you checked your &lt;CODE data-end="156" data-start="141"&gt;st.cache_data&lt;/CODE&gt; functions and they key on username, which is the right instinct, but the leak usually hides in whatever function opens the SQL connection or session object. &lt;CODE data-end="333" data-start="314"&gt;st.cache_resource&lt;/CODE&gt; caches are globally by default, they're shared across every user and every session in the app process, not per-session like &lt;CODE data-end="476" data-start="458"&gt;st.session_state&lt;/CODE&gt;. The cache key comes from the function's arguments, so if your connection-builder function looks like this:&lt;/P&gt;
&lt;DIV class="relative w-full mt-4 mb-1"&gt;
&lt;DIV class=""&gt;
&lt;DIV class="contents"&gt;
&lt;DIV class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;
&lt;DIV class="relative h-full w-full border-radius-3xl bg-(--code-block-surface) corner-superellipse/1.1 overflow-clip rounded-3xl [--code-block-surface:var(--bg-elevated-secondary)] dark:[--code-block-surface:var(--composer-surface-primary)] lxnfua_clipPathFallback"&gt;
&lt;DIV class="relative"&gt;
&lt;DIV class="h-full min-h-0 min-w-0"&gt;
&lt;DIV class="h-full min-h-0 min-w-0"&gt;
&lt;DIV class=""&gt;
&lt;DIV class="relative"&gt;
&lt;DIV class=""&gt;
&lt;DIV class="relative z-0 flex max-w-full"&gt;
&lt;DIV id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼs ͼ16" dir="ltr"&gt;
&lt;DIV class="cm-scroller"&gt;
&lt;PRE class="cm-content q9tKkq_readonly m-0"&gt;&lt;CODE&gt;&lt;SPAN class="ͼu"&gt;@&lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;st&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;.&lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;cache_resource&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;ttl&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;=&lt;/SPAN&gt;&lt;SPAN class="ͼy"&gt;300&lt;/SPAN&gt;&lt;SPAN&gt;)
&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;def&lt;/SPAN&gt; &lt;SPAN class="ͼ11"&gt;get_connection&lt;/SPAN&gt;&lt;SPAN&gt;():
    &lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;return&lt;/SPAN&gt; &lt;SPAN class="ͼ11"&gt;sql&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;connect(&lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;server_hostname&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;..., &lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;http_path&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;..., &lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;access_token&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;=&lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;user_access_token&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P data-end="1121" data-start="742"&gt;every user hits the same cached connection object for up to the TTL window, and that connection was opened with whichever token happened to trigger the first cache miss. That's exactly the symptom you're describing: queries occasionally running under a previous user's identity, and it'll look "random" because it only shows up when the cache is warm from someone else's request.&lt;/P&gt;
&lt;P data-end="1218" data-start="1123"&gt;The fix is to make the token part of the cache key so each identity gets its own cached object:&lt;/P&gt;
&lt;DIV class="relative w-full mt-4 mb-1"&gt;
&lt;DIV class=""&gt;
&lt;DIV class="contents"&gt;
&lt;DIV class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;
&lt;DIV class="relative h-full w-full border-radius-3xl bg-(--code-block-surface) corner-superellipse/1.1 overflow-clip rounded-3xl [--code-block-surface:var(--bg-elevated-secondary)] dark:[--code-block-surface:var(--composer-surface-primary)] lxnfua_clipPathFallback"&gt;
&lt;DIV class="pointer-events-none absolute inset-x-4 top-12 bottom-4"&gt;
&lt;DIV class="pointer-events-none sticky z-40 shrink-0 z-1!"&gt;
&lt;DIV class="sticky bg-token-border-light"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="relative"&gt;
&lt;DIV class="h-full min-h-0 min-w-0"&gt;
&lt;DIV class="h-full min-h-0 min-w-0"&gt;
&lt;DIV class=""&gt;
&lt;DIV class="relative"&gt;
&lt;DIV class=""&gt;
&lt;DIV class="relative z-0 flex max-w-full"&gt;
&lt;DIV id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼs ͼ16" dir="ltr"&gt;
&lt;DIV class="cm-scroller"&gt;
&lt;PRE class="cm-content q9tKkq_readonly m-0"&gt;&lt;CODE&gt;&lt;SPAN class="ͼu"&gt;@&lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;st&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;.&lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;cache_resource&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;ttl&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;=&lt;/SPAN&gt;&lt;SPAN class="ͼy"&gt;300&lt;/SPAN&gt;&lt;SPAN&gt;)
&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;def&lt;/SPAN&gt; &lt;SPAN class="ͼ11"&gt;get_connection&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;user_token&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;str&lt;/SPAN&gt;&lt;SPAN&gt;):
    &lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;return&lt;/SPAN&gt; &lt;SPAN class="ͼ11"&gt;sql&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;connect(&lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;server_hostname&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;..., &lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;http_path&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;=&lt;/SPAN&gt;&lt;SPAN&gt;..., &lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;access_token&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;=&lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;user_token&lt;/SPAN&gt;&lt;SPAN&gt;)

&lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;conn&lt;/SPAN&gt; &lt;SPAN class="ͼv"&gt;=&lt;/SPAN&gt; &lt;SPAN class="ͼ11"&gt;get_connection&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;user_access_token&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P data-end="1610" data-start="1426"&gt;Or simplest and safest, don't cache the connection at all, open it fresh per request and close it after the query, which is what Databricks' own Apps examples do for this exact reason.&lt;/P&gt;
&lt;P data-end="1829" data-start="1612"&gt;To your second question, yes, there's a cheap way to verify the token belongs to who you think before you use it. Use the SDK with that specific token and check the identity it resolves to against &lt;CODE data-end="1828" data-start="1809"&gt;X-Forwarded-Email&lt;/CODE&gt;:&lt;/P&gt;
&lt;DIV class="relative w-full mt-4 mb-1"&gt;
&lt;DIV class=""&gt;
&lt;DIV class="contents"&gt;
&lt;DIV class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"&gt;
&lt;DIV class="relative h-full w-full border-radius-3xl bg-(--code-block-surface) corner-superellipse/1.1 overflow-clip rounded-3xl [--code-block-surface:var(--bg-elevated-secondary)] dark:[--code-block-surface:var(--composer-surface-primary)] lxnfua_clipPathFallback"&gt;
&lt;DIV class="relative"&gt;
&lt;DIV class="h-full min-h-0 min-w-0"&gt;
&lt;DIV class="h-full min-h-0 min-w-0"&gt;
&lt;DIV class=""&gt;
&lt;DIV class="relative"&gt;
&lt;DIV class=""&gt;
&lt;DIV class="relative z-0 flex max-w-full"&gt;
&lt;DIV id="code-block-viewer" class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼs ͼ16" dir="ltr"&gt;
&lt;DIV class="cm-scroller"&gt;
&lt;PRE class="cm-content q9tKkq_readonly m-0"&gt;&lt;CODE&gt;&lt;SPAN class="ͼv"&gt;from&lt;/SPAN&gt; &lt;SPAN class="ͼ11"&gt;databricks&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;.&lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;sdk&lt;/SPAN&gt; &lt;SPAN class="ͼv"&gt;import&lt;/SPAN&gt; &lt;SPAN class="ͼ11"&gt;WorkspaceClient&lt;/SPAN&gt;

&lt;SPAN class="ͼ11"&gt;w&lt;/SPAN&gt; &lt;SPAN class="ͼv"&gt;=&lt;/SPAN&gt; &lt;SPAN class="ͼ11"&gt;WorkspaceClient&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;host&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;=&lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;host&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;token&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;=&lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;user_access_token&lt;/SPAN&gt;&lt;SPAN&gt;)
&lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;me&lt;/SPAN&gt; &lt;SPAN class="ͼv"&gt;=&lt;/SPAN&gt; &lt;SPAN class="ͼ11"&gt;w&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;current_user&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;me()
&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;if&lt;/SPAN&gt; &lt;SPAN class="ͼ11"&gt;me&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;user_name &lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;!=&lt;/SPAN&gt; &lt;SPAN class="ͼ11"&gt;username&lt;/SPAN&gt;&lt;SPAN&gt;:
    &lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;st&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;error(&lt;/SPAN&gt;&lt;SPAN class="ͼz"&gt;"Session identity mismatch, please refresh."&lt;/SPAN&gt;&lt;SPAN&gt;)
    &lt;/SPAN&gt;&lt;SPAN class="ͼ11"&gt;st&lt;/SPAN&gt;&lt;SPAN class="ͼv"&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;stop()&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;P data-is-only-node="" data-is-last-node="" data-end="2558" data-start="2073"&gt;One more thing worth knowing separately from the caching issue: &lt;CODE data-end="2157" data-start="2137"&gt;st.context.headers&lt;/CODE&gt; itself is only populated once, at the initial page load / WebSocket connection, and doesn't refresh on reruns. So on a long-lived tab, even without any caching bug, the token you're holding can go stale if the underlying session persists across a reconnect. The identity check above catches that case too, since it fails closed instead of quietly running a query under a token that no longer matches.&lt;/P&gt;</description>
      <pubDate>Wed, 15 Jul 2026 17:54:36 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/x-forwarded-access-token-occasionally-return-stale-values-from-a/m-p/163111#M5436</guid>
      <dc:creator>iyashk-DB</dc:creator>
      <dc:date>2026-07-15T17:54:36Z</dc:date>
    </item>
    <item>
      <title>X-Forwarded-Access-Token occasionally return stale values from a previous session</title>
      <link>https://community.databricks.com/t5/administration-architecture/x-forwarded-access-token-occasionally-return-stale-values-from-a/m-p/163074#M5435</link>
      <description>&lt;P class=""&gt;Hi all,&lt;/P&gt;&lt;P class=""&gt;I'm running a Streamlit app on Databricks Apps with On-Behalf-Of User Authorization enabled. We've observed that X-Forwarded-Access-Token and X-Forwarded-Email sometimes return values that belong to a &lt;EM&gt;previous&lt;/EM&gt; session(logged out other user, using same browser window) rather than the current one, e.g.:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;python&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN&gt;user_access_token &lt;SPAN class=""&gt;=&lt;/SPAN&gt; st&lt;SPAN class=""&gt;.&lt;/SPAN&gt;context&lt;SPAN class=""&gt;.&lt;/SPAN&gt;headers&lt;SPAN class=""&gt;.&lt;/SPAN&gt;get&lt;SPAN class=""&gt;(&lt;/SPAN&gt;&lt;SPAN class=""&gt;"X-Forwarded-Access-Token"&lt;/SPAN&gt;&lt;SPAN class=""&gt;)&lt;/SPAN&gt;
&lt;/SPAN&gt;&lt;SPAN&gt;username &lt;SPAN class=""&gt;=&lt;/SPAN&gt; st&lt;SPAN class=""&gt;.&lt;/SPAN&gt;context&lt;SPAN class=""&gt;.&lt;/SPAN&gt;headers&lt;SPAN class=""&gt;.&lt;/SPAN&gt;get&lt;SPAN class=""&gt;(&lt;/SPAN&gt;&lt;SPAN class=""&gt;"X-Forwarded-Email"&lt;/SPAN&gt;&lt;SPAN class=""&gt;)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P class=""&gt;username occasionally appears to be a different user's email from an earlier session, and the associated user_access_token then gets used for a Databricks SQL query executed on behalf of the wrong identity.&lt;/P&gt;&lt;P class=""&gt;&lt;STRONG&gt;What we've verified:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;We are &lt;STRONG&gt;not&lt;/STRONG&gt; caching the connection or the token anywhere in our code (no st.cache_resource wrapping a connection object, no module-level/global variables holding the token). user_access_token and username are read fresh from st.context.headers at the top of the script on every run.&lt;/LI&gt;&lt;LI&gt;Our st.cache_data-decorated functions include username as an explicit cache key argument, so we don't believe this is Streamlit's function-level caching bleeding across users.&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;&lt;STRONG&gt;Question:&lt;/STRONG&gt;&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;Is it expected/known that the Databricks Apps reverse proxy (or the underlying connection between the proxy and the app container) can reuse a connection across different end-user sessions in a way that causes X-Forwarded-* headers from one user's request to be forwarded on a subsequent request from a different user?&lt;/LI&gt;&lt;LI&gt;Is there a recommended way to positively verify, on every request, that X-Forwarded-Access-Token actually corresponds to X-Forwarded-Email (e.g., calling current_user.me() with the token) before we trust it for a query? We've added this as a client-side safety check in the meantime, but would prefer a platform-level explanation/fix if this is a known proxy behavior.&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;Any insight into whether this is expected behavior, a known issue, or something we should file a support ticket for would be appreciated. Happy to share more app code / logs if useful.&lt;/P&gt;&lt;P class=""&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Wed, 15 Jul 2026 10:52:39 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/x-forwarded-access-token-occasionally-return-stale-values-from-a/m-p/163074#M5435</guid>
      <dc:creator>tesshy-amane</dc:creator>
      <dc:date>2026-07-15T10:52:39Z</dc:date>
    </item>
    <item>
      <title>Re: How to change passkey device for  partner-academy.databricks.com?</title>
      <link>https://community.databricks.com/t5/administration-architecture/how-to-change-passkey-device-for-partner-academy-databricks-com/m-p/162963#M5433</link>
      <description>&lt;P&gt;Thanks,&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/152834"&gt;@Advika&lt;/a&gt;&amp;nbsp;, I'll&amp;nbsp; follow thaT advice.&lt;/P&gt;</description>
      <pubDate>Tue, 14 Jul 2026 15:12:07 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/how-to-change-passkey-device-for-partner-academy-databricks-com/m-p/162963#M5433</guid>
      <dc:creator>Fikrat</dc:creator>
      <dc:date>2026-07-14T15:12:07Z</dc:date>
    </item>
    <item>
      <title>Re: How to change passkey device for  partner-academy.databricks.com?</title>
      <link>https://community.databricks.com/t5/administration-architecture/how-to-change-passkey-device-for-partner-academy-databricks-com/m-p/162961#M5432</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/113626"&gt;@Fikrat&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Please raise a ticket with the &lt;A href="https://help.databricks.com/s/contact-us?ReqType=training" target="_blank"&gt;Databricks Support team&lt;/A&gt;. They'll be able to help you remove or reset your passkey.&lt;/P&gt;</description>
      <pubDate>Tue, 14 Jul 2026 14:52:46 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/how-to-change-passkey-device-for-partner-academy-databricks-com/m-p/162961#M5432</guid>
      <dc:creator>Advika</dc:creator>
      <dc:date>2026-07-14T14:52:46Z</dc:date>
    </item>
    <item>
      <title>Re: enable databricks in azure for the whole tenant</title>
      <link>https://community.databricks.com/t5/administration-architecture/enable-databricks-in-azure-for-the-whole-tenant/m-p/162919#M5431</link>
      <description>&lt;P&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/110502"&gt;@szymon_dybczak&lt;/a&gt;&amp;nbsp;Thanks for the response and well explanation.&lt;/P&gt;&lt;P&gt;I have another question related to vnet injection architecture. So as per you we can create a management group and include all the subscription in that management group and will apply the polices at root level. But what about network shall I assign each vnet for each of the subscription which will be part of the mangement group or a hub spoke architecture so that we can manage the network policies centrally like not allowing the public IP accessibility of databricks workspace&lt;/P&gt;</description>
      <pubDate>Tue, 14 Jul 2026 07:42:18 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/enable-databricks-in-azure-for-the-whole-tenant/m-p/162919#M5431</guid>
      <dc:creator>satycse06</dc:creator>
      <dc:date>2026-07-14T07:42:18Z</dc:date>
    </item>
    <item>
      <title>Re: Oracle Connectivity - CDC</title>
      <link>https://community.databricks.com/t5/administration-architecture/oracle-connectivity-cdc/m-p/162909#M5430</link>
      <description>&lt;P&gt;Answer: &lt;STRONG&gt;Not yet.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;As of now,&amp;nbsp;Oracle is &lt;U&gt;&lt;STRONG&gt;&lt;EM&gt;not&lt;/EM&gt; listed&lt;/STRONG&gt;&lt;/U&gt; as a supported CDC (Change Data Capture) database connector in Lakeflow Connect managed CDC connectors.&lt;/P&gt;&lt;DIV&gt;&lt;P&gt;Databricks has recently introduced Query-Based Connectors for databases including Oracle. These connectors are different from CDC:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;They query the source database on a schedule.&lt;/LI&gt;&lt;LI&gt;They use a cursor/watermark column (for example, &lt;STRONG&gt;LAST_UPDATED_DATE&lt;/STRONG&gt;).&lt;/LI&gt;&lt;LI&gt;They do not read Oracle redo logs or perform transaction-log-based CDC.&lt;/LI&gt;&lt;LI&gt;They do not require an ingestion gateway or CDC configuration on the source database.&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 14 Jul 2026 06:19:47 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/oracle-connectivity-cdc/m-p/162909#M5430</guid>
      <dc:creator>harisrinivasay</dc:creator>
      <dc:date>2026-07-14T06:19:47Z</dc:date>
    </item>
    <item>
      <title>Re: Oracle Connectivity - CDC</title>
      <link>https://community.databricks.com/t5/administration-architecture/oracle-connectivity-cdc/m-p/162899#M5429</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;For SQL server it is clear, I was asking about Oracle.&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Tue, 14 Jul 2026 04:05:49 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/oracle-connectivity-cdc/m-p/162899#M5429</guid>
      <dc:creator>psingh13</dc:creator>
      <dc:date>2026-07-14T04:05:49Z</dc:date>
    </item>
    <item>
      <title>Re: Genie Code Usage Dashboard</title>
      <link>https://community.databricks.com/t5/administration-architecture/genie-code-usage-dashboard/m-p/162897#M5428</link>
      <description>&lt;P&gt;I built the same however i paramterized queries based on workspace and even implemented RLS to that , we have even implemented alerts etc&lt;/P&gt;</description>
      <pubDate>Tue, 14 Jul 2026 03:41:39 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/genie-code-usage-dashboard/m-p/162897#M5428</guid>
      <dc:creator>rkhbo3003</dc:creator>
      <dc:date>2026-07-14T03:41:39Z</dc:date>
    </item>
    <item>
      <title>Re: Oracle Connectivity - CDC</title>
      <link>https://community.databricks.com/t5/administration-architecture/oracle-connectivity-cdc/m-p/162896#M5427</link>
      <description>&lt;P&gt;Hi ,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Are you using lakeflow ? For sql there is lakeflow connector it uses . I have used that it us very convenient however need to do configuration at account level&lt;/P&gt;</description>
      <pubDate>Tue, 14 Jul 2026 03:39:45 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/oracle-connectivity-cdc/m-p/162896#M5427</guid>
      <dc:creator>rkhbo3003</dc:creator>
      <dc:date>2026-07-14T03:39:45Z</dc:date>
    </item>
    <item>
      <title>Re: Using Terraform to GRANT SELECT ON ANY FILE securable</title>
      <link>https://community.databricks.com/t5/administration-architecture/using-terraform-to-grant-select-on-any-file-securable/m-p/162861#M5426</link>
      <description>&lt;P&gt;thanks. this works even though TF takes unusually very long time to apply the changes - 12m&lt;/P&gt;</description>
      <pubDate>Mon, 13 Jul 2026 18:54:52 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/using-terraform-to-grant-select-on-any-file-securable/m-p/162861#M5426</guid>
      <dc:creator>TMD</dc:creator>
      <dc:date>2026-07-13T18:54:52Z</dc:date>
    </item>
    <item>
      <title>How to change passkey device for  partner-academy.databricks.com?</title>
      <link>https://community.databricks.com/t5/administration-architecture/how-to-change-passkey-device-for-partner-academy-databricks-com/m-p/162858#M5425</link>
      <description>&lt;P&gt;Hi there,&lt;/P&gt;&lt;P&gt;I've registered to&amp;nbsp;partner-academy.databricks.com with my Slalom account, and it requires mobile phone passkey on each login. The problem is the passkey I've configured long ago is on my old phone and I can't find place in that web site that allows changing that. Any help would be much appreciated!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Jul 2026 18:34:07 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/how-to-change-passkey-device-for-partner-academy-databricks-com/m-p/162858#M5425</guid>
      <dc:creator>Fikrat</dc:creator>
      <dc:date>2026-07-13T18:34:07Z</dc:date>
    </item>
    <item>
      <title>Re: Clarification on Auto Loader Managed File Events with Unity Catalog Managed Volumes</title>
      <link>https://community.databricks.com/t5/administration-architecture/clarification-on-auto-loader-managed-file-events-with-unity/m-p/162832#M5424</link>
      <description>&lt;P&gt;The confusion here usually stems from overlapping two different architectural concepts: the "Landing Zone" (where raw data arrives) and "Managed Storage" (where Databricks governs the data lifecycle).&lt;/P&gt;&lt;P&gt;To address your questions directly:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;1. Does Databricks configure S3 Event Notifications for the entire prefix, including __unitystorage?&lt;/STRONG&gt; Yes. When you enable File Events on an External Location at the cloud level, AWS S3 simply configures EventBridge/SQS for that entire prefix. Because __unitystorage sits under that prefix, S3 will technically generate cloud events for files added to Managed Volumes/Tables within that path.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;2. Can Auto Loader use Managed File Events to ingest from a Managed Volume?&lt;/STRONG&gt; While technically events might be firing in the cloud, using Managed File Events to ingest from a Managed Volume is an &lt;STRONG&gt;anti-pattern&lt;/STRONG&gt; and is not the intended use case. Managed File Events are officially designed to ingest data from External Locations/External Volumes. By definition, Databricks governs the lifecycle of Managed Volumes. External systems (like your AWS Kinesis firehose, SFTP drops, or third-party apps) should &lt;I&gt;never&lt;/I&gt; be dropping raw files directly into the obscure __unitystorage path. Therefore, Auto Loader shouldn't need to listen for external file arrival events in a Managed Volume.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;3. What is the purpose of enabling File Events on an External Location used for Managed Storage?&lt;/STRONG&gt; Ideally, you shouldn't be doing this. It is a best practice to strictly separate your storage buckets (or at least your top-level prefixes):&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Landing/Raw Bucket:&lt;/STRONG&gt; Configured as an External Location with File Events enabled. External systems drop data here.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Managed Bucket:&lt;/STRONG&gt; Configured as the root storage for your Unity Catalog/Schemas. File Events do not need to be enabled here because Databricks orchestrates all data movement into this location.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;4. Is your recommended architecture correct?&lt;/STRONG&gt; Yes, your assumption at the end is 100% correct. The best-practice design pattern is:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Ingestion:&lt;/STRONG&gt; External Volume (pointing to your landing bucket) + Managed File Events -&amp;gt; Auto Loader -&amp;gt; Target Delta Table.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Internal Storage:&lt;/STRONG&gt; Managed Volumes/Tables are used for internal Databricks processing, intermediate steps, or saving ML artifacts. If you ever &lt;I&gt;do&lt;/I&gt; need to read from a Managed Volume with Auto Loader, Directory Listing is the appropriate method, as the volume of files should be entirely controlled by internal Databricks processes.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Jul 2026 15:04:51 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/clarification-on-auto-loader-managed-file-events-with-unity/m-p/162832#M5424</guid>
      <dc:creator>ShamenParis</dc:creator>
      <dc:date>2026-07-13T15:04:51Z</dc:date>
    </item>
    <item>
      <title>Re: Clarification on Auto Loader Managed File Events with Unity Catalog Managed Volumes</title>
      <link>https://community.databricks.com/t5/administration-architecture/clarification-on-auto-loader-managed-file-events-with-unity/m-p/162810#M5422</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;A href="https://community.databricks.com/t5/user/viewprofilepage/user-id/170854" target="_blank"&gt;@APJESK&lt;/A&gt;,&lt;/P&gt;
&lt;P data-pm-slice="1 1 []"&gt;I am wondering if the main source of confusion is the name cloudFiles.useManagedFileEvents.&amp;nbsp;In the public docs, "managed" here refers to the Databricks-managed file-events service and cache layer, not to Unity Catalog managed volumes or the __unitystorage path. The&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://docs.databricks.com/aws/en/ingestion/cloud-object-storage/auto-loader/file-events-explained" rel="noopener noreferrer nofollow" target="_blank"&gt;Auto Loader with file events overview&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;explains that Databricks sets up cloud resources to listen for file events, processes those notifications, and then Auto Loader reads from that file-events cache when cloudFiles.useManagedFileEvents=true is set.&lt;/P&gt;
&lt;P data-pm-slice="1 1 []"&gt;On your first question... at a high level, file events are configured at the external-location scope. The&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://docs.databricks.com/aws/en/ingestion/cloud-object-storage/auto-loader/file-notification-mode" rel="noopener noreferrer nofollow" target="_blank"&gt;file notification mode docs&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;say Databricks uses a single file notification queue for all streams from a given external location, and the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://docs.databricks.com/aws/en/connect/unity-catalog/cloud-storage/manage-external-locations" rel="noopener noreferrer nofollow" target="_blank"&gt;manage external locations docs&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;say enabling file events on an external location allows Databricks to configure S3-side notifications for that location.&amp;nbsp;So, if your managed storage is physically landing under s3://my-bucket/catalog/cat1/__unitystorage/..., as in your example, then it is still under the broader external-location prefix s3://my-bucket/catalog/cat1/ that you described. Because of that, object creates under __unitystorage would be within that same underlying external-location notification scope. That said, the public docs do not present __unitystorage as the intended Auto Loader ingestion target.&lt;/P&gt;
&lt;P&gt;On your second question...I would be careful not to treat that as official support for managed volumes as a managed-file-events source. The public docs consistently describe the source as an external location or a volume on an external location, and they specifically recommend creating a separate external volume for each ingest path and passing the volume path to Auto Loader. I do not see public documentation that explicitly positions managed volumes as an officially supported Auto Loader source for cloudFiles.useManagedFileEvents=true. If you do see that, can you please post the link to that page?&lt;/P&gt;
&lt;P class="wnfdntt _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;There is also a related signal in the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://docs.databricks.com/aws/en/jobs/file-arrival-triggers" rel="noopener noreferrer nofollow" target="_blank"&gt;file arrival trigger docs&lt;/A&gt;... they explicitly say the monitored path must not contain managed locations of catalogs and schemas. That is a different feature from Auto Loader itself, but it points in the same direction and reinforces that Databricks is careful about treating Unity Catalog managed locations as event-driven file-ingestion sources.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Ashwin_DSA_0-1783949919745.png" style="width: 999px;"&gt;&lt;img src="https://community.databricks.com/t5/image/serverpage/image-id/28917i83A458D045404A1F/image-size/large?v=v2&amp;amp;px=999" role="button" title="Ashwin_DSA_0-1783949919745.png" alt="Ashwin_DSA_0-1783949919745.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P class="wnfdntt _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;On your third question...the answer is that enabling file events is still valuable for workloads that read paths governed by that external location. The docs say it makes Auto Loader setup easier, enables incremental file discovery with notification-like performance, and improves file-arrival triggers for jobs. In other words, enabling file events on the external location is about improving ingestion and event-driven processing for that external-location-backed storage boundary. It is not the same thing as saying every path underneath that boundary is a recommended Auto Loader source.&lt;/P&gt;
&lt;P class="wnfdntt _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;Hope this clarifies your questions.&lt;/P&gt;
&lt;P class="p1"&gt;&lt;STRONG&gt;&lt;FONT size="2" color="#FF6600"&gt;&lt;I&gt;If this answer resolves your question, could you mark it as “Accept as Solution”? That helps other users quickly find the correct fix.&lt;/I&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Jul 2026 13:50:58 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/clarification-on-auto-loader-managed-file-events-with-unity/m-p/162810#M5422</guid>
      <dc:creator>Ashwin_DSA</dc:creator>
      <dc:date>2026-07-13T13:50:58Z</dc:date>
    </item>
    <item>
      <title>Re: enable databricks in azure for the whole tenant</title>
      <link>https://community.databricks.com/t5/administration-architecture/enable-databricks-in-azure-for-the-whole-tenant/m-p/162809#M5421</link>
      <description>&lt;P class=""&gt;&lt;SPAN&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/114460"&gt;@satycse06&lt;/a&gt;&amp;nbsp;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN&gt;Azure Databricks should be onboarded through a combination of &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;Azure tenant/subscription controls&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;, the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;Azure Databricks account console&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;, and standardized &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;workspace deployments&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;. There is not one tenant-wide “Enable Databricks” switch that automatically governs every workspace.&lt;/SPAN&gt;&lt;/P&gt;&lt;H2&gt;&lt;SPAN&gt;1. Initial tenant and account setup&lt;/SPAN&gt;&lt;/H2&gt;&lt;OL&gt;&lt;LI&gt;&lt;P class=""&gt;&lt;STRONG&gt;&lt;SPAN&gt;Select the Azure subscriptions that are permitted to host Databricks.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN&gt;Register the &lt;/SPAN&gt;&lt;SPAN&gt;Microsoft.Databricks&lt;/SPAN&gt;&lt;SPAN&gt; resource provider only in the approved subscriptions. Registration is performed per subscription, not once for the entire tenant. Microsoft recommends registering resource providers only when they are ready to be used.&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P class=""&gt;&lt;STRONG&gt;&lt;SPAN&gt;Create the first controlled Databricks workspace.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN&gt;The deployment identity needs Azure Contributor/Owner at subscription level,&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P class=""&gt;&lt;STRONG&gt;&lt;SPAN&gt;Establish the Databricks account administrators.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN&gt;For the initial account bootstrap, a Microsoft Entra Global Administrator signs in to the Databricks account console and becomes the first Databricks account administrator. That person should then delegate the Account Admin role to two or three dedicated platform administrators and remove the Global Administrator from routine Databricks administration.&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P class=""&gt;&lt;STRONG&gt;&lt;SPAN&gt;Use Microsoft Entra ID for authentication and Conditional Access.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN&gt;Microsoft Entra ID single sign-on is available by default for both the Databricks account console and workspaces. MFA and Conditional Access should therefore be enforced through Entra ID.&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;H3&gt;&lt;SPAN&gt;About the Enterprise Application&lt;/SPAN&gt;&lt;/H3&gt;&lt;P class=""&gt;&lt;SPAN&gt;The &lt;/SPAN&gt;&lt;SPAN&gt;AzureDatabricks&lt;/SPAN&gt;&lt;SPAN&gt; enterprise application, whose standard resource/application ID is &lt;/SPAN&gt;&lt;SPAN&gt;2ff814a6-3304-4ab8-85cb-cd0e6f879c1d&lt;/SPAN&gt;&lt;SPAN&gt;, is the Microsoft first-party Databricks service identity. It should not be treated as the main mechanism for assigning access to individual workspaces. Workspace access is managed through Databricks account-level identities, groups and workspace assignments.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN&gt;For a new account, use &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;Automatic Identity Management&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;, which is enabled by default for accounts created after August 1, 2025. It uses Entra ID as the source of record and supports users, service principals, groups and nested groups. If Automatic Identity Management is unavailable for a legacy account, configure the separate &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;Azure Databricks SCIM Provisioning Connector&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; enterprise application at account level.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN&gt;Users should be assigned to workspaces through these account-level groups rather than individually.&lt;/SPAN&gt;&lt;/P&gt;&lt;H2&gt;&lt;SPAN&gt;2. Enabling Databricks only in selected subscriptions&lt;/SPAN&gt;&lt;/H2&gt;&lt;P class=""&gt;&lt;SPAN&gt;Resource-provider registration alone is not sufficient as a security boundary because Azure Contributor and Owner roles include the permission to register resource providers.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN&gt;The recommended control is:&lt;/SPAN&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;SPAN&gt;Place approved Databricks subscriptions under a dedicated Azure management group.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Apply an Azure Policy at the parent or root management-group level that denies &lt;/SPAN&gt;&lt;SPAN&gt;Microsoft.Databricks/workspaces&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Exclude only the approved Databricks management group or subscriptions from that deny assignment.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Grant workspace deployment permissions only to the central platform team or deployment service principal in those subscriptions.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN&gt;Deploy workspaces exclusively through an approved Terraform, Bicep or ARM module.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P class=""&gt;&lt;SPAN&gt;&lt;BR /&gt;If my answer was helpful, please consider marking it as accepted solution.&lt;/SPAN&gt;&lt;/P&gt;&lt;H2&gt;&amp;nbsp;&lt;/H2&gt;</description>
      <pubDate>Mon, 13 Jul 2026 13:43:48 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/enable-databricks-in-azure-for-the-whole-tenant/m-p/162809#M5421</guid>
      <dc:creator>szymon_dybczak</dc:creator>
      <dc:date>2026-07-13T13:43:48Z</dc:date>
    </item>
    <item>
      <title>Re: SPOG discovery probe failed</title>
      <link>https://community.databricks.com/t5/administration-architecture/spog-discovery-probe-failed/m-p/162793#M5420</link>
      <description>&lt;P class=""&gt;In simple terms, this error means:&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;STRONG&gt;Your computer tried to connect to your Databricks workspace, but it couldn't verify the website's security certificate.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;The important part is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN&gt;certificate verify failed:
self-signed certificate in certificate chain&lt;/SPAN&gt;&lt;/PRE&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;PRE&gt;&amp;nbsp;This usually happens because:&lt;/PRE&gt;&lt;UL&gt;&lt;LI&gt;You're connected to a company VPN or corporate network that inspects HTTPS traffic.&lt;/LI&gt;&lt;LI&gt;A proxy or antivirus is replacing the website's security certificate.&lt;/LI&gt;&lt;LI&gt;Your computer is missing the required trusted certificates.&lt;P&gt;The "SPOG discovery" message isn't the actual problem—it's just telling you that Databricks couldn't check some workspace information because the secure connection failed.&lt;/P&gt;&lt;H3&gt;What you can do&lt;/H3&gt;&lt;OL&gt;&lt;LI&gt;&lt;P&gt;Open your Databricks workspace URL in a browser:&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;PRE&gt;&lt;SPAN&gt;https://adb-1235610976271489.3.azuredatabricks.net&lt;/SPAN&gt;&lt;/PRE&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;UL&gt;&lt;LI&gt;If it opens normally, your workspace is likely fine.&lt;/LI&gt;&lt;LI&gt;If you see a certificate warning, it's a network or certificate issue.&lt;/LI&gt;&lt;LI&gt;If you're using a company VPN or proxy, try disconnecting and connecting again, or ask your IT team if they use SSL/HTTPS inspection.&lt;/LI&gt;&lt;LI&gt;Make sure your Databricks tools (CLI, SDK, or VS Code extension) are up to date.&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;</description>
      <pubDate>Mon, 13 Jul 2026 12:28:41 GMT</pubDate>
      <guid>https://community.databricks.com/t5/administration-architecture/spog-discovery-probe-failed/m-p/162793#M5420</guid>
      <dc:creator>Miss_Maee</dc:creator>
      <dc:date>2026-07-13T12:28:41Z</dc:date>
    </item>
  </channel>
</rss>

