Ga naar inhoud

Network policy van workspaces en outbound access protection

Dit runbook beschrijft hoe het platform de network communication policy van de Fabric-workspace instelt, wat de bekende limieten van de Fabric API zijn en hoe de deploymentscripts daarmee omgaan. Het is voor het platformteam.

Achtergrond

De Terraform-modules fabric-workspace en fabric-connections roepen de API-familie networking/communicationPolicy van Fabric aan via PowerShell-scripts (local-exec provisioners). De scripts gebruiken de Azure CLI-sessie van de pipeline om een token voor de Fabric API op te halen.

Script API-endpoint (onder /v1/workspaces/{id}) Doel
set_workspace_network_policy.ps1 PUT .../networking/communicationPolicy Stelt de inbound en outbound publicAccessRules.defaultAction in. Outbound Deny is outbound access protection (OAP).
set_workspace_git_outbound_policy.ps1 PUT .../communicationPolicy/outbound/git Staat Git toe als OAP aan staat (Git wordt onder OAP standaard geblokkeerd)
set_workspace_gateway_rules.ps1 PUT .../communicationPolicy/outbound/gateways Beperkt welke gateways de workspace mag gebruiken: standaard Deny, alleen de gateway van de omgeving is toegestaan
set_workspace_cloud_connections.ps1 PUT .../communicationPolicy/outbound/connections Stelt de allow-list van uitgaande cloud connections in (LakeHouse, Warehouse, Power BI semantic models)

De vlag outbound_network_policy_enabled

Een instelling per workspace in de configuratie. De semantiek is omgekeerd:

Waarde Outbound default action Resultaat
false (standaard) Deny OAP ingeschakeld. Standaard geweigerd, de allow-list wordt afgedwongen.
true Allow OAP uitgeschakeld. Uitgaande publieke toegang staat open.

De documentatie van de oplossing beschrijft outbound als standaard geblokkeerd. In de code is de standaardwaarde van de vlag false, dus een workspace zonder de instelling is beschermd. De referentieconfiguratie van de oplossing zet true voor engineering- en ontwikkelworkspaces en houdt false voor rapportageworkspaces. Beslis per workspace en schrijf de reden op het ticket.

Inbound

Het script wordt aangeroepen met een inbound default action Allow, en elke workspace krijgt ook een private endpoint. Als je securityontwerp vereist dat het publieke inbound-pad gesloten is, controleer dan de inbound-instelling in je deployment en in de tenantinstellingen van Fabric. De servicebeschrijving beschrijft inbound-toegang als alleen via private endpoint.

Bekende limieten en hoe de scripts ermee omgaan

Network policy heeft een grotere capacity-SKU nodig

Network communication policies op workspace-niveau zijn niet op elke capacity-SKU beschikbaar. Op kleine F-SKU's geeft de API 403 Forbidden terug (de commentaren in het script noemen F64 of hoger). set_workspace_network_policy.ps1 behandelt de 403 als een nette skip: het logt een waarschuwing en eindigt met succes. De workspace profiteert dan nog wel van de private link en de gateway- configuratie, maar niet van de regels op workspace-niveau. Plan een grotere SKU als de policy moet worden afgedwongen.

Regels voor uitgaande connections geven 403 als OAP uit staat

Fabric dwingt de regels voor uitgaande connections alleen af als de outbound default action Deny is. Voor een workspace met outbound_network_policy_enabled = true geeft de aanroep naar .../outbound/connections 403 Forbidden terug. De regels waren op zo'n workspace nooit af te dwingen, dus de aanroep is bewust een no-op. set_workspace_cloud_connections.ps1 behandelt de 403 als een nette skip (waarschuwing, exitcode 0). Zet de vlag op false om de regels af te dwingen.

Dit is in de praktijk gezien: terraform apply mislukte met 403 op terraform_data.workspace_cloud_connections voor alle workspaces met de vlag true, terwijl workspaces met false slaagden. Bestaande workspaces leken alleen ongemoeid omdat hun triggers niet waren gewijzigd, waardoor het script niet opnieuw draaide.

Foutsignatuur:

Failed to update workspace outbound connection policy: Response status code does not indicate success: 403 (Forbidden).

Verschijnt dit als een harde fout, dan is de moduleversie ouder dan de nette afhandeling van de 403: upgrade naar een release die die bevat.

Tenantinstelling

De Fabric-tenantinstelling Configure workspace-level outbound network rules (Fabric-adminportal, Tenant settings) moet door een Fabric-beheerder zijn ingeschakeld voordat OAP kan worden geconfigureerd. Zie Vereisten.

Git onder OAP

Met OAP aan (vlag false) wordt Git geblokkeerd. De resource workspace_git_outbound_policy staat het toe, alleen als een Git-koppeling is geconfigureerd. Zie Connectiviteit.

  • Architectuur
  • Connectiviteit
  • Microsoft Learn: workspace outbound access protection (overview and setup), en de Fabric REST API Set Network Communication Policy en Set Outbound Cloud Connection Rules