Workspace Network Policy und Outbound Access Protection¶
Dieses Runbook dokumentiert, wie die Plattform die Network Communication Policy des Fabric-Workspaces setzt, die bekannten Grenzen der Fabric-API und wie die Deployment-Skripte damit umgehen. Es richtet sich an das Plattform-Team.
Hintergrund¶
Die Terraform-Module fabric-workspace und fabric-connections rufen die API-Familie networking/communicationPolicy von Fabric
über PowerShell-Skripte (local-exec-Provisioner) auf. Die Skripte verwenden die Azure-CLI-Session der pipeline, um ein Token
für die Fabric-API zu holen.
| Skript | API-Endpoint (unter /v1/workspaces/{id}) |
Zweck |
|---|---|---|
set_workspace_network_policy.ps1 |
PUT .../networking/communicationPolicy |
Setzt die publicAccessRules.defaultAction für Inbound und Outbound. Outbound Deny ist Outbound Access Protection (OAP). |
set_workspace_git_outbound_policy.ps1 |
PUT .../communicationPolicy/outbound/git |
Erlaubt Git, wenn OAP an ist (Git ist unter OAP standardmäßig blockiert) |
set_workspace_gateway_rules.ps1 |
PUT .../communicationPolicy/outbound/gateways |
Schränkt ein, welche Gateways der Workspace verwenden darf: Default Deny, nur das Gateway der Umgebung erlaubt |
set_workspace_cloud_connections.ps1 |
PUT .../communicationPolicy/outbound/connections |
Setzt die Allow-List der ausgehenden Cloud-Connections (LakeHouse, Warehouse, semantische Power-BI-Modelle) |
Das Flag outbound_network_policy_enabled¶
Eine Einstellung pro Workspace in der Konfiguration. Die Semantik ist invertiert:
| Wert | Default Action für Outbound | Ergebnis |
|---|---|---|
false (Default) |
Deny |
OAP aktiviert. Standardmäßig verweigert, die Allow-List wird durchgesetzt. |
true |
Allow |
OAP deaktiviert. Der ausgehende öffentliche Zugriff ist offen. |
Die Dokumentation der Lösung beschreibt Outbound als standardmäßig blockiert. Im Code ist der Default des Flags false, ein
Workspace ohne die Einstellung ist also geschützt. Die Referenzkonfiguration der Lösung setzt true für Engineering- und
Entwicklungs-Workspaces und behält false für Reporting-Workspaces. Entscheide pro Workspace und schreibe die Begründung ins Ticket.
Inbound
Das Skript wird mit der Inbound Default Action Allow aufgerufen, und jeder Workspace bekommt außerdem einen Private Endpoint. Wenn dein
Sicherheitsdesign verlangt, dass der öffentliche Inbound-Pfad geschlossen ist, prüfe die Inbound-Einstellung in deinem Deployment und in den
Fabric-Tenant-Einstellungen. Die Servicebeschreibung beschreibt den Inbound-Zugriff als ausschließlich über Private Endpoint.
Bekannte Grenzen und wie die Skripte damit umgehen¶
Die Network Policy braucht eine größere Capacity-SKU¶
Network Communication Policies auf Workspace-Ebene sind nicht auf jeder Capacity-SKU verfügbar. Auf kleinen F-SKUs liefert die API
403 Forbidden (die Kommentare im Skript nennen F64 oder höher). set_workspace_network_policy.ps1 behandelt das 403 als sauberes
Überspringen: Es loggt eine Warnung und endet mit Erfolg. Der Workspace profitiert dann weiterhin vom Private Link und der Gateway-
Konfiguration, aber nicht von den Regeln auf Workspace-Ebene. Plane eine größere SKU ein, wenn die Policy durchgesetzt werden muss.
Outbound-Connection-Regeln liefern 403, wenn OAP aus ist¶
Fabric setzt die Outbound-Connection-Regeln nur durch, wenn die Outbound Default Action Deny ist. Bei einem Workspace mit
outbound_network_policy_enabled = true liefert der Aufruf von .../outbound/connections 403 Forbidden. Die Regeln waren auf einem solchen Workspace nie
durchsetzbar, der Aufruf ist daher absichtlich ein No-op. set_workspace_cloud_connections.ps1 behandelt das 403 als sauberes
Überspringen (Warnung, Exit-Code 0). Um die Regeln durchzusetzen, setze das Flag auf false.
Das wurde in der Praxis beobachtet: terraform apply schlug mit 403 auf terraform_data.workspace_cloud_connections für alle
Workspaces mit dem Flag true fehl, während Workspaces mit false erfolgreich waren. Bestehende Workspaces schienen nur deshalb nicht betroffen, weil
ihre Trigger sich nicht geändert hatten und das Skript daher nicht erneut lief.
Fehlersignatur:
Failed to update workspace outbound connection policy: Response status code does not indicate success: 403 (Forbidden).
Wenn das als harter Fehler auftritt, ist die Modulversion älter als die saubere 403-Behandlung: Upgrade auf ein Release, das sie enthält.
Tenant-Einstellung¶
Die Fabric-Tenant-Einstellung Configure workspace-level outbound network rules (Fabric-Admin-Portal, Tenant settings) muss von einem Fabric-Administrator aktiviert werden, bevor OAP konfiguriert werden kann. Siehe Voraussetzungen.
Git unter OAP¶
Mit OAP an (Flag false) ist Git blockiert. Die Ressource workspace_git_outbound_policy erlaubt es, nur wenn eine Git-Verknüpfung
konfiguriert ist. Siehe Konnektivität.
Verwandte Seiten¶
- Architektur
- Konnektivität
- Microsoft Learn: Workspace Outbound Access Protection (Überblick und Einrichtung) sowie die Fabric-REST-API Set Network Communication Policy und Set Outbound Cloud Connection Rules