Consentire l'accesso allo spazio dei nomi del Bus di servizio di Azure da reti virtuali specifiche

L'integrazione del bus di servizio con gli endpoint servizio di rete virtuale consente di proteggere l'accesso alle funzionalità di messaggistica da carichi di lavoro come macchine virtuali associate a reti virtuali, con il percorso del traffico di rete protetto a entrambe le estremità.

Una volta configurato per essere associato ad almeno un endpoint servizio della subnet della rete virtuale, lo spazio dei nomi del bus di servizio corrispondente non accetterà più traffico se non dalle reti virtuali autorizzate e, facoltativamente, da indirizzi IP Internet specifici. Dal punto di vista della rete virtuale, l'associazione di uno spazio dei nomi del bus di servizio a un endpoint del servizio consente di configurare un tunnel di rete isolato dalla subnet della rete virtuale al servizio di messaggistica.

Il risultato è una relazione privata e isolata tra i carichi di lavoro associati alla subnet e lo spazio dei nomi del bus di servizio corrispondente, nonostante l'indirizzo di rete osservabile dell'endpoint del servizio di messaggistica sia in un intervallo di IP pubblici.

Aspetti importanti

  • Le reti virtuali sono supportate solo negli spazi dei nomi del bus di servizio di livello Premium. Quando si usano gli endpoint servizio di rete virtuale con il bus di servizio, non è consigliabile abilitare questi endpoint nelle applicazioni che combinano spazi dei nomi del bus di servizio di livello Standard e Premium. Poiché il livello Standard non supporta le reti virtuali. L'endpoint è limitato solo agli spazi dei nomi del livello Premium.

  • L'implementazione dell'integrazione delle reti virtuali può impedire l'interazione da parte di altri servizi Azure con il bus di servizio. In via del tutto eccezionale, è possibile consentire l'accesso alle risorse del bus di servizio da determinati servizi attendibili anche quando gli endpoint servizio di rete sono abilitati. Per un elenco dei servizi attendibili, vedere Servizi attendibili.

    I servizi Microsoft seguenti devono essere in una rete virtuale

    • Servizio app di Azure
    • Funzioni di Azure
  • Specificare almeno una regola IP o una regola di rete virtuale per lo spazio dei nomi per consentire il traffico solo dagli indirizzi IP o dalla subnet specificati di una rete virtuale. Se non sono presenti regole di rete virtuale e IP, è possibile accedere allo spazio dei nomi tramite Internet pubblico (usando la chiave di accesso).

Scenari di sicurezza avanzata abilitati dall'integrazione della rete virtuale

Per le soluzioni con meccanismi di sicurezza rigidi e suddivisi in vari compartimenti e per le quali le subnet della rete virtuale offrono la segmentazione tra i servizi nei diversi compartimenti, sono in genere comunque necessari percorsi di comunicazione tra i servizi che risiedono in tali compartimenti.

Qualsiasi route IP immediata tra i compartimenti, incluse quelle destinate al traffico HTTPS su TCP/IP, comportano il rischio di sfruttamento delle vulnerabilità dal livello rete verso l'alto. I servizi di messaggistica offrono percorsi di comunicazione isolati, in cui i messaggi vengono anche scritti su disco durante la transizione tra le parti coinvolte. I carichi di lavoro in due reti virtuali distinte associate alla stessa istanza del bus di servizio possono comunicare in modo efficiente e affidabile tramite messaggi, pur mantenendo l'integrità del confine di isolamento rete.

Questo significa che le soluzioni cloud con requisiti di sicurezza elevati non solo possono ottenere l'accesso alle funzionalità di messaggistica asincrona scalabili e affidabili leader del settore di Azure, ma possono ora usare la messaggistica per creare percorsi di comunicazione tra compartimenti sicuri della soluzione, intrinsecamente più sicuri di quanto sia possibile con qualsiasi modalità di comunicazione peer-to-peer, inclusi i protocolli HTTPS e altri protocolli socket protetti da TLS.

Associazione del bus di servizio alle reti virtuali

Le regole di rete virtuale rappresentano una funzionalità di sicurezza del firewall che consente di definire se il server del bus di servizio di Azure accetta le comunicazioni inviate da una subnet specifica della rete virtuale.

L'associazione di uno spazio dei nomi del bus di servizio a una rete virtuale è un processo in due passaggi. È prima necessario creare un endpoint servizio di rete virtuale su una subnet della rete virtuale e abilitarlo per Microsoft.ServiceBus come descritto nella panoramica sull'endpoint del servizio. Dopo aver aggiunto l'endpoint servizio, è necessario associare lo spazio dei nomi del bus di servizio all'endpoint con una regola di rete virtuale.

La regola di rete virtuale è un'associazione tra lo spazio dei nomi del bus di servizio e una subnet della rete virtuale. Fino a quando esiste la regola, a tutti i carichi di lavoro associati alla subnet viene concesso l'accesso allo spazio dei nomi del bus di servizio. Il bus di servizio non stabilisce mai direttamente connessioni in uscita e non deve ottenere l'accesso, quindi non ottiene mai l'accesso alla subnet abilitando questa regola.

Nota

Tenere presente che un endpoint servizio di rete fornisce alle applicazioni in esecuzione nella rete virtuale l'accesso allo spazio dei nomi del bus di servizio. La rete virtuale controlla la raggiungibilità dell'endpoint, ma non le operazioni che è possibile eseguire sulle entità del bus di servizio (code, argomenti o sottoscrizioni). Usare Microsoft Entra ID per autorizzare le operazioni che le applicazioni possono eseguire sullo spazio dei nomi e sulle relative entità. Per altre informazioni, vedere Autenticare e autorizzare un'applicazione con Microsoft Entra ID per accedere alle entità del bus di servizio.

Usare il portale di Azure

Quando si crea uno spazio dei nomi, è possibile consentire l'accesso solo pubblico (da tutte le reti) o privato (solo tramite endpoint privati) allo spazio dei nomi. Dopo aver creato lo spazio dei nomi, è possibile consentire l'accesso da indirizzi IP specifici o da reti virtuali specifiche (usando gli endpoint servizio di rete).

Configurare l'accesso pubblico durante la creazione di uno spazio dei nomi

Per abilitare l'accesso pubblico, selezionare Accesso pubblico nella pagina Networking della procedura guidata Crea spazio dei nomi.

Screenshot che mostra la pagina Networking della procedura guidata Crea spazio dei nomi con l'opzione Accesso pubblico selezionata.

Dopo aver creato lo spazio dei nomi, selezionare Networking nel menu a sinistra della pagina Spazio dei nomi del bus di servizio. Si noterà che l'opzione Tutte le reti è selezionata. È possibile selezionare l'opzione Reti selezionate e consentire l'accesso da indirizzi IP specifici o reti virtuali specifiche. La sezione successiva fornisce informazioni dettagliate su come specificare le reti da cui è consentito l'accesso.

Configurare le reti selezionate per uno spazio dei nomi esistente

Questa sezione spiega come usare il portale di Azure per aggiungere un endpoint servizio di rete virtuale. Per limitare l'accesso, è necessario integrare l'endpoint servizio di rete virtuale per questo spazio dei nomi di Hub eventi.

  1. Passare allo spazio dei nomi del bus di servizio nel portale di Azure.

  2. Nel menu a sinistra selezionare l'opzione Networking in Impostazioni.

    Nota

    Viene visualizzata la scheda Networking solo per gli spazi dei nomi Premium.

  3. Nella pagina Networking, in Accesso alla rete pubblica, è possibile impostare una delle tre opzioni seguenti. Scegliere l'opzione Reti selezionate per consentire l'accesso solo dagli indirizzi IP specificati.

    • Tutte le reti (impostazione predefinita). Questa opzione abilita l'accesso pubblico da tutte le reti tramite una chiave di accesso. Se si seleziona l'opzione Tutte le reti, il bus di servizio accetta le connessioni da qualsiasi indirizzo IP (usando la chiave di accesso). Questa impostazione equivale a una regola che accetti l'intervallo di indirizzi IP 0.0.0.0/0.

      Screenshot della scheda Networking di uno spazio dei nomi del bus di servizio con l'opzione predefinita Tutte le reti selezionate.

    • Disabilitati. Questa opzione disabilita qualsiasi accesso pubblico allo spazio dei nomi. Lo spazio dei nomi è accessibile solo tramite endpoint privati.

      Screenshot che mostra la pagina Networking di uno spazio dei nomi con l'accesso pubblico disabilitato.

      Scegliere se si desidera consentire ai servizi Microsoft attendibili di ignorare il firewall. Per l'elenco dei servizi Microsoft attendibili per il Bus di servizio di Azure, vedere la sezione Servizi Microsoft attendibili.

    • Reti selezionate. Questa opzione consente l'accesso pubblico allo spazio dei nomi usando una chiave di accesso dalle reti selezionate.

      Importante

      Se si sceglie Reti selezionate, aggiungere almeno una regola del firewall IP o una rete virtuale che avrà accesso allo spazio dei nomi. Scegliere Disabilitato se si desidera limitare tutto il traffico a questo spazio dei nomi solo su endpoint privati.

  4. Per limitare l'accesso a reti virtuali specifiche, selezionare l'opzione Reti selezionate se non è già selezionata.

  5. Nella sezione Rete virtuale della pagina, selezionare l'opzione +Aggiungi rete virtuale esistente. Selezionare + Crea nuova rete virtuale se si desidera creare una nuova rete virtuale.

    Immagine che mostra la selezione del pulsante Aggiungi rete virtuale esistente nella barra degli strumenti.

    Avviso

    Se si seleziona l'opzione Reti selezionate e non si aggiunge almeno una regola del firewall IP o una rete virtuale in questa pagina, è possibile accedere allo spazio dei nomi tramite Internet pubblico (usando la chiave di accesso).

  6. Selezionare la rete virtuale nell'elenco delle reti virtuali quindi selezionare la subnet. È necessario abilitare l'endpoint servizio prima di aggiungere la rete virtuale all'elenco. Se l'endpoint servizio non è abilitato, il portale richiede di abilitarlo.

    Screenshot che mostra la selezione della rete virtuale e della subnet.

  7. Dopo l'abilitazione dell'endpoint servizio per la subnet per Microsoft.ServiceBus verrà visualizzato il messaggio seguente. Selezionare Aggiungi nella parte inferiore della pagina per aggiungere la rete.

    Immagine che mostra il messaggio relativo all'abilitazione dell'endpoint servizio riuscita.

    Nota

    Se non si è in grado di attivare l'endpoint servizio, è possibile ignorare l'endpoint servizio di rete virtuale mancante usando il modello di Resource Manager. Questa funzionalità non è disponibile sul portale.

  8. Selezionare Salva sulla barra degli strumenti per salvare le impostazioni. Attendere qualche minuto la visualizzazione della conferma tra le notifiche del portale. Il pulsante Salva deve essere disabilitato.

    Immagine che mostra l'endpoint servizio di rete salvato.

    Nota

    Per istruzioni su come consentire l'accesso da indirizzi IP o intervalli specifici, vedere Consentire l'accesso da indirizzi IP o intervalli specifici.

Servizi Microsoft attendibili

Quando si abilita l'impostazione Consentire ai servizi Microsoft attendibili di ignorare il firewall?, ai servizi seguenti viene concesso l'accesso alle risorse del bus di servizio.

Servizio attendibile Scenari di utilizzo supportati
Azure Event Grid Consente a Griglia di eventi di Azure di inviare eventi a code o argomenti nello spazio dei nomi del Bus di servizio. È necessario eseguire anche la procedura seguente:
  • Abilitare l'identità assegnata dal sistema per un argomento o un dominio
  • Aggiungere l'identità al ruolo Mittente dei dati del Bus di servizio di Azure nello spazio dei nomi del Bus di servizio
  • Configurare quindi la sottoscrizione di eventi che usa una coda o un argomento del bus di servizio come endpoint per usare l'identità assegnata dal sistema.

Per altre informazioni, vedere Distribuzione di eventi con Identità gestita

Analisi di flusso di Azure Consente a un processo Analisi di flusso di Azure di restituire i dati nelle code del Bus di servizio agli argomenti.

Importante: il processo Analisi di flusso di Azure deve essere configurato per usare un'identità gestita per accedere allo spazio dei nomi del bus di servizio. Aggiungere l'identità al ruolo Mittente dei dati del Bus di servizio di Azure nello spazio dei nomi del Bus di servizio.

Hub IoT di Azure Consente a un hub IoT di inviare messaggi a code o argomenti nello spazio dei nomi del bus di servizio. È necessario eseguire anche la procedura seguente:
Gestione API di Azure

Il servizio Gestione API consente di inviare messaggi a una coda o a un argomento del bus di servizio nello spazio dei nomi del bus di servizio.

Azure IoT Central

Consente a IoT Central di esportare i dati nelle code o negli argomenti del bus di servizio nello spazio dei nomi del bus di servizio. È necessario eseguire anche la procedura seguente:

Gemelli digitali di Azure Consente a Gemelli digitali di Azure di eseguire l'uscita dei dati negli argomenti del Bus di servizio nello spazio dei nomi del Bus di servizio. È necessario eseguire anche la procedura seguente:

  • Abilitare l'identità assegnata dal sistema per l'istanza di Gemelli digitali di Azure.
  • Aggiungere l'identità al ruolo Mittente dei dati del Bus di servizio di Azure nello spazio dei nomi del Bus di servizio.
  • Configurare quindi un endpoint di Gemelli digitali di Azure o una connessione alla cronologia dei dati di Gemelli digitali di Azure che usa l'identità assegnata dal sistema per l'autenticazione. Per altre informazioni sulla configurazione di endpoint e route eventi alle risorse del Bus di servizio da Gemelli digitali di Azure, vedere Route di eventi di Gemelli digitali di Azure e Creare endpoint in Gemelli digitali di Azure.
Monitoraggio di Azure (impostazioni di diagnostica e gruppi di azioni) Consente a Monitoraggio di Azure di inviare informazioni di diagnostica e notifiche di avviso al Bus di servizio nello spazio dei nomi del Bus di servizio. Monitoraggio di Azure può leggere e scrivere dati nello spazio dei nomi del Bus di servizio.
Azure Synapse Consente ad Azure Synapse di connettersi al Bus di servizio usando l'identità gestita dell'area di lavoro di Synapse. Aggiungere l'identità al ruolo Mittente dei dati del Bus di servizio di Azure o Proprietario dei dati del Bus di servizio di Azure nello spazio dei nomi del Bus di servizio.

Gli altri servizi attendibili per il Bus di servizio di Azure sono elencati di seguito:

  • Esplora dati di Azure
  • Servizi per i dati sanitari di Azure
  • Azure Arc
  • Azure Kubernetes
  • Azure Machine Learning
  • Microsoft Purview
  • Microsoft Defender for Cloud
  • Azure Provider Hub

Usare i modelli di Resource Manager

Il modello di esempio di Resource Manager seguente aggiunge una regola di rete virtuale a uno spazio dei nomi esistente del bus di servizio. Per la regola di rete, specifica l'ID di una subnet in una rete virtuale.

L'ID è un percorso di Resource Manager completo per la subnet della rete virtuale. Ad esempio, /subscriptions/{id}/resourceGroups/{rg}/providers/Microsoft.Network/virtualNetworks/{vnet}/subnets/default per la subnet predefinita di una rete virtuale.

Nota

Il valore predefinito di defaultAction è Allow. Quando si aggiungono regole di rete virtuale o firewall, assicurarsi di impostare defaultAction su Deny.

Modello:

{
	"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
	"contentVersion": "1.0.0.0",
	"parameters": {
		"servicebusNamespaceName": {
			"type": "string",
			"metadata": {
				"description": "Name of the Service Bus namespace"
			}
		},
		"virtualNetworkName": {
			"type": "string",
			"metadata": {
				"description": "Name of the Virtual Network Rule"
			}
		},
		"subnetName": {
			"type": "string",
			"metadata": {
				"description": "Name of the Virtual Network Sub Net"
			}
		},
		"location": {
			"type": "string",
			"metadata": {
				"description": "Location for Namespace"
			}
		}
	},
	"variables": {
		"namespaceNetworkRuleSetName": "[concat(parameters('servicebusNamespaceName'), concat('/', 'default'))]",
		"subNetId": "[resourceId('Microsoft.Network/virtualNetworks/subnets/', parameters('virtualNetworkName'), parameters('subnetName'))]"
	},
	"resources": [{
			"apiVersion": "2022-10-01-preview",
			"name": "[parameters('servicebusNamespaceName')]",
			"type": "Microsoft.ServiceBus/namespaces",
			"location": "[parameters('location')]",
			"sku": {
				"name": "Premium",
				"tier": "Premium",
				"capacity": 1
			},
			"properties": {
				"premiumMessagingPartitions": 1,
				"minimumTlsVersion": "1.2",
				"publicNetworkAccess": "Enabled",
				"disableLocalAuth": false,
				"zoneRedundant": true
			}
		},
		{
			"apiVersion": "2022-07-01",
			"name": "[parameters('virtualNetworkName')]",
			"location": "[parameters('location')]",
			"type": "Microsoft.Network/virtualNetworks",
			"properties": {
				"addressSpace": {
					"addressPrefixes": [
						"10.0.0.0/23"
					]
				},
				"subnets": [{
					"name": "[parameters('subnetName')]",
					"properties": {
						"addressPrefix": "10.0.0.0/23",
						"serviceEndpoints": [{
							"service": "Microsoft.ServiceBus"
						}]
					}
				}]
			}
		},
		{
			"apiVersion": "2022-10-01-preview",
			"name": "[variables('namespaceNetworkRuleSetName')]",
			"type": "Microsoft.ServiceBus/namespaces/networkruleset",
			"dependsOn": [
				"[concat('Microsoft.ServiceBus/namespaces/', parameters('servicebusNamespaceName'))]"
			],
			"properties": {
				"publicNetworkAccess": "Enabled",
				"defaultAction": "Deny",
				"virtualNetworkRules": [{
					"subnet": {
						"id": "[variables('subNetId')]"
					},
					"ignoreMissingVnetServiceEndpoint": false
				}],
				"ipRules": [],
				"trustedServiceAccessEnabled": false
			}
		}
	],
	"outputs": {}
}

Per distribuire il modello, seguire le istruzioni per Azure Resource Manager.

Importante

Se non sono presenti regole di rete virtuale e IP, tutto il traffico passa allo spazio dei nomi anche se si imposta defaultAction su deny. È possibile accedere allo spazio dei nomi tramite Internet pubblico (usando la chiave di accesso). Specificare almeno una regola IP o una regola di rete virtuale per lo spazio dei nomi per consentire il traffico solo dagli indirizzi IP o dalla subnet specificati di una rete virtuale.

Utilizzare l'interfaccia della riga di comando di Azure

Usare i comandi add, list, update e remove di az servicebus namespace network-rule-set per gestire le regole di rete virtuale per uno spazio dei nomi del bus di servizio.

Usare Azure PowerShell

Usare i comandi di Azure PowerShell seguenti per aggiungere, elencare, rimuovere, aggiornare ed eliminare regole di rete per uno spazio dei nomi del Bus di servizio.

Azione predefinita e accesso alla rete pubblica

REST API

Il valore predefinito della proprietà defaultAction è Deny per l'API versione 2021-01-01-preview e versioni precedenti. Tuttavia, la regola Nega non viene applicata a meno che non si impostino filtri IP o regole di rete virtuale. Ciò significa che, se non si dispone di filtri IP o regole di rete virtuale, viene considerato come Allow.

A partire dall'API versione 2021-06-01-e versioni successive, il valore predefinito della proprietà defaultAction è Allow, per riflettere in modo accurato l'imposizione sul lato servizio. Se l'azione predefinita è impostata su Deny, vengono applicati filtri IP e regole di rete virtuale. Se l'azione predefinita è impostata su Allow, non vengono applicati filtri IP e regole di rete virtuale. Il servizio memorizza le regole quando vengono disattivate e riattivate.

L'API versione 2021-06-01-preview e versioni successive introduce anche una nuova proprietà denominata publicNetworkAccess. Se è impostata su Disabled, le operazioni sono limitate solo ai collegamenti privati. Se è impostata su Enabled, le operazioni sono consentite tramite Internet pubblico.

Per altre informazioni su queste proprietà, vedere Creare o aggiornare connessioni endpoint private.

Nota

Nessuna delle impostazioni precedenti ignora la convalida delle attestazioni tramite la firma di accesso condiviso o l'autenticazione di Microsoft Entra. Il controllo di autenticazione viene sempre eseguito dopo che il servizio convalida i controlli di rete configurati dalle impostazioni defaultAction, publicNetworkAccess, privateEndpointConnections.

Azure portal

Il portale di Azure usa sempre la versione più recente dell'API per ottenere e impostare le proprietà. Se lo spazio dei nomi è stato configurato in precedenza usando 2021-01-01-preview e versioni precedenti con defaultAction impostato su Deny e sono stati specificati zero filtri IP e regole di rete virtuale, il portale avrebbe precedentemente selezionato Reti selezionate nella pagina Networking dello spazio dei nomi. Ora controlla l'opzione Tutte le reti.

Screenshot della pagina Networking nel portale di Azure. L'opzione per consentire l'accesso da tutte le reti è selezionata nella scheda Firewall e reti virtuali.

Per altre informazioni sulle reti virtuali, vedere i collegamenti seguenti: