Closes #754 - Add Workspace Private Link troubleshooting documentation#933
Draft
Closes #754 - Add Workspace Private Link troubleshooting documentation#933
Conversation
Agent-Logs-Url: https://github.com/microsoft/fabric-cicd/sessions/0465742e-ef3e-4be0-b4bc-6008dde73b20 Co-authored-by: shirasassoon <66449905+shirasassoon@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add troubleshooting documentation for Fabric Workspaces
Closes #754 - Add Workspace Private Link troubleshooting documentation
Apr 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No documentation existed for deploying to workspaces with "Allow connections only from workspace level private links" enabled — a recurring pain point (issues #660, #754) requiring maintainer guidance each time.
Changes
docs/how_to/troubleshooting.md— Added#### Workspace Private Link Connectivityunder "Common Issues and Solutions" covering:'Request is denied due to inbound communication policy'https://{workspace_id_no_dashes}.z{first_2_chars}.w.api.fabric.microsoft.comconstants.DEFAULT_API_ROOT_URLbefore instantiatingFabricWorkspaceDEFAULT_API_ROOT_URLin theconstantssection (supports per-environment values)workspace_idmust be used (notworkspace_name) — name resolution calls the public API, which is blocked behind the private linkPython API example:
config.yml example:
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
releases.astral.sh/home/REDACTED/.local/bin/uv uv sync --dev -q(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
Problem
There is no documentation anywhere in
docs/about deploying to Fabric Workspaces that have workspace-level private links enabled. This has been a recurring pain point for users — at least two separate issues were filed (#660 and #754) by different users hitting this problem, both requiring maintainer guidance to resolve.When a workspace has "Allow connections only from workspace level private links" enabled, the default public API endpoint (
https://api.fabric.microsoft.com) is blocked. Users see the error:The workaround is to override
constants.DEFAULT_API_ROOT_URLwith the workspace's Fully Qualified Domain Name (FQDN), but this is non-obvious without reading source code or closed issues.Requested Change
Add a new subsection under "Common Issues and Solutions" in
docs/how_to/troubleshooting.md, after the existing "API Rate Limiting" section (around line 187). The new section should be titled something like#### Workspace Private Link Connectivityand follow the same Symptom/Solution pattern as the other entries in that section.The section should cover:
Symptom: The error message users will see —
"Request is denied due to inbound communication policy"when deploying to a workspace with private links enabled.Explanation: When a workspace has "Allow connections only from workspace level private links" enabled, the default
api.fabric.microsoft.comendpoint is inaccessible. The workspace-specific FQDN must be used instead.FQDN URL format:
https://{workspaceid_no_dashes}.z{first_2_chars}.w.api.fabric.microsoft.com— where{workspaceid_no_dashes}is the workspace ID with dashes removed, and{first_2_chars}are the first two characters of the workspace ID.Solution using the Python API — override
constants.DEFAULT_API_ROOT_URLbefore creating theFabricWorkspaceobject:DEFAULT_API_ROOT_URLin theconstantssection, with environment-specific values if needed:Important caveat: Users must use
workspace_id(notworkspace_name) when initializingFabricWorkspacein a private link setup, because resolving a workspace name requires calling the public list-workspaces API which is blocked behind the private link.Link to Microsoft docs: Workspace-level private links overview — Connecting to workspaces
References
The following is the prior conversation context from the user's chat exploration (may be truncated):
User: Does fabric-cicd work for users who want to deploy items to a Fabric Workspace set up with private link?
Assistant: Yes,
fabric-cicdworks with Fabric Workspaces that use workspace-level private links, but it requires a workaround — you need to override the default API root URL to use the workspace's Fully Qualified Domain Name (FQDN) instead of the publicapi.fabric.microsoft.comendpoint.The Problem
When a workspace has "Allow connections only from workspace level private links" enabled, the default public endpoint (
https://api.fabric.microsoft.com/v1/workspaces/...) is blocked and returns:This was reported in #660 and #754, both of which are now closed.
The Workaround
Override
constants.DEFAULT_API_ROOT_URLwith the workspace's private link FQDN before creating theFabricWorkspaceobject:The private link URL format is documented by Micro...
This pull request was created from Copilot chat.