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.
Gerelateerd¶
- 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