You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|**Microsoft Fabric**|Optional. Either access to create capacity/workspace, or provide existing Fabric capacity/workspace IDs, or disable Fabric automation|
>**Note:**If you enableFabric capacity deployment, you must supply at least one valid Fabric capacity admin principal (Entra user UPN email or object ID) via `fabricCapacityAdmins`.
130
+
>**Note:** Fabric automation is optional. To disable all Fabric automation, set`fabricCapacityPreset = 'none'` and `fabricWorkspacePreset = 'none'`in`infra/main.bicepparam`.
131
131
132
-
>**Note:** If you enable Fabric provisioning, the user running `azd` must have the **Fabric Administrator** role (or equivalent Fabric/Power BI tenant admin permissions) to call the required admin APIs.
132
+
>**Note:** If you enable Fabric capacity deployment (`fabricCapacityPreset='create'`), you must supply at least one valid Fabric capacity admin principal (Entra user UPN email or object ID) via `fabricCapacityAdmins`.
133
+
134
+
>**Note:** If you enable Fabric provisioning (`fabricWorkspacePreset='create'`), the user running `azd` must have the **Fabric Administrator** role (or equivalent Fabric/Power BI tenant admin permissions) to call the required admin APIs.
133
135
134
136
</details>
135
137
@@ -141,7 +143,7 @@ Follow the deployment guide to deploy this solution to your own Azure subscripti
141
143
| Azure AI Foundry | Standard | [Pricing](https://azure.microsoft.com/pricing/details/machine-learning/) |
| Virtual Network + Bastion | Standard | [Pricing](https://azure.microsoft.com/pricing/details/azure-bastion/) |
146
148
147
149
>**Cost Optimization:** Fabric capacity can be paused when not in use. Use `az fabric capacity suspend` to stop billing.
@@ -171,8 +173,6 @@ After deployment, you'll have a complete, enterprise-ready platform that unifies
171
173
|**Governance**| Microsoft Purview with cataloging, scans, and DSPM | Track data lineage, enforce policies, and maintain compliance visibility |
172
174
|**Security**| Private endpoints, managed identities, RBAC, network isolation | Zero public internet exposure—all traffic stays on the Microsoft backbone |
173
175
174
-
> 💡 **Note:** When Microsoft Fabric automation supports private link provisioning, the entire solution will operate with full network isolation end-to-end.
|`desiredFabricWorkspaceName`| Name for Fabric workspace |`workspace-myenv`|
155
+
|`aiSearchAdditionalAccessObjectIds`| Array of Entra object IDs to grant Search roles |`["00000000-0000-0000-0000-000000000000"]`|
156
+
|`fabricCapacityMode`| Fabric capacity mode: `create`, `byo`, or `none`|`create`|
157
+
|`fabricWorkspaceMode`| Fabric workspace mode: `create`, `byo`, or `none`|`create`|
158
+
|`fabricCapacitySku`| Fabric capacity SKU (only used when `fabricCapacityMode=create`) |`F8` (default) |
159
+
|`fabricCapacityAdmins`| Fabric capacity admin principals (UPN emails or Entra object IDs) (required when `fabricCapacityMode=create`) |`["user@contoso.com"]`|
160
+
|`fabricCapacityResourceId`| Existing Fabric capacity ARM resource ID (required when `fabricCapacityMode=byo`) |`/subscriptions/.../providers/Microsoft.Fabric/capacities/...`|
161
+
|`fabricWorkspaceId`| Existing Fabric workspace ID (GUID) (required when `fabricWorkspaceMode=byo`) |`00000000-0000-0000-0000-000000000000`|
162
+
|`fabricWorkspaceName`| Existing Fabric workspace name (used when `fabricWorkspaceMode=byo`) |`my-existing-workspace`|
159
163
160
164
```bash
161
165
# Example: Set Purview account
162
166
azd env set purviewAccountResourceId "/subscriptions/<sub-id>/resourceGroups/<rg>/providers/Microsoft.Purview/accounts/<account-name>"
@@ -47,12 +47,12 @@ When deploying AI Search, AI Foundry, and Purview within a VNet (as configured i
47
47
48
48
### 1. Fabric Workspace Private Links
49
49
50
-
Microsoft Fabric supports **workspace-level private links** that enable secure, private connectivity from Azure VNets to specific Fabric workspaces and their OneLake lakehouses.
50
+
Microsoft Fabric supports **workspace-level private links** that enable secure, private connectivity from Azure VNets to specific Fabric workspaces and their OneLake lakehouses. This is a **service-managed** experience: there is currently **no customer-facing ARM/Bicep resource provider** to deploy or manage these objects.
51
51
52
52
> **Important:** As of November 2025 Azure AI Search cannot complete a shared private link where `group-id = "workspace"`. Our automation detects the failure message `Cannot create private endpoint for requested type 'workspace'` and skips the shared private link stage so OneLake indexers continue to work over public endpoints. Follow the steps in [Phase 2](#phase-2-configure-shared-private-link-from-ai-search-automated) to re-run the script when Microsoft enables the feature, and keep the workspace communication policy in **Allow** mode until the link can be provisioned.
> **Note**: Fabric workspace private links cannot be configured via ARM/Bicep as of October 2025. This must be done manually after workspace creation.
86
+
> **Note**: Fabric workspace private links cannot be configured via ARM/Bicep. This must be done manually after workspace creation in the Fabric portal.
@@ -95,79 +95,17 @@ Private DNS zones are required to resolve Fabric workspace FQDNs to private IPs:
95
95
96
96
> **Note**: Once Microsoft enables workspace-targeted shared private links, the connection from AI Search should auto-approve because both resources live in the same subscription/tenant. Until then, the script will exit with a warning and no shared private link is created.
97
97
98
-
### Phase 2: Configure Shared Private Link from AI Search (Automated)
98
+
### Phase 2: Configure Shared Private Link from AI Search (Not yet supported)
99
99
100
-
This is handled by the Bicep infrastructure in **Stage 7: Fabric Private Networking** and the **`setup_fabric_private_link.ps1`** postprovision script.
101
-
102
-
**Resources created (when supported)**:
103
-
1. Private DNS zones for Fabric endpoints
104
-
2. DNS zone virtual network links
105
-
3. Shared private link from AI Search to Fabric workspace (via PowerShell script)
100
+
Workspace-targeted shared private links from AI Search are not supported today; the automation path is disabled/no-op to avoid failures. Keep workspace communication policy in **Allow** mode until Microsoft enables the feature, then re-enable private access manually.
106
101
107
102
**RBAC tip:** Add Azure AD group object IDs to the `aiSearchAdditionalAccessObjectIds` parameter (or `azd env set aiSearchAdditionalAccessObjectIds "<objectId>"`) so interactive users inherit the same Search roles that the automation assigns to managed identities.
108
103
109
-
**Key Benefits of Automatic Approval**:
110
-
- ✅ **No manual approval needed** - Connection is auto-approved because both resources are in the same subscription/tenant
111
-
- ✅ **Consistent with other private endpoints** - Works like Storage, Cosmos DB, AI Search private endpoints
112
-
- ✅ **Faster deployment** - No waiting for manual approval step
0 commit comments