Usare gli endpoint di servizio di rete virtuale e le regole per i server in Database SQL di Azure

Si applica a:Database SQL di Azure

Le regole di rete virtuale sono una funzione di sicurezza del firewall che controlla se il server per i tuoi database e i pool elastici in database SQL di Azure accetta comunicazioni inviate da particolari subnet nelle reti virtuali. Questo articolo spiega perché le regole di rete virtuale sono a volte la tua migliore opzione per consentire in modo sicuro la comunicazione con il tuo database in SQL Database.

Nota

In questo articolo, server si riferisce al server logico che ospita i database in database SQL di Azure.

Per creare una regola di rete virtuale, deve essere disponibile un endpoint servizio di rete virtuale al quale la regola possa fare riferimento.

Nota

Microsoft Entra ID era precedentemente conosciuto come Azure Active Directory (Azure AD).

Creare una regola di rete virtuale

Se si desidera solamente creare una regola di rete virtuale, è possibile procedere direttamente ai passaggi e alla spiegazione più avanti in questo articolo.

Dettagli sulle regole di rete virtuale

Questa sezione illustra alcuni dettagli sulle regole di rete virtuale.

Una sola regione geografica

Ogni endpoint di servizio della rete virtuale si applica a una sola area di Azure. L'endpoint non consente ad altre regioni di accettare la comunicazione dalla subnet.

Ogni regola di rete virtuale è limitata all'area geografica a cui si applica il relativo endpoint sottostante.

A livello di server, non a livello di database

Ogni regola di rete virtuale si applica all'intero server, non solo a un determinato database nel server. In altre parole, la regola di rete virtuale si applica a livello di server, non a livello di database.

Per contro, le regole IP possono essere applicate a uno dei due livelli.

Ruoli di amministrazione della sicurezza

I ruoli di sicurezza sono distinti nell'amministrazione degli endpoint del servizio di rete virtuale. Ogni ruolo indicato di seguito deve svolgere determinate azioni:

  • Amministratore di rete (ruolo Collaboratore rete): Attiva l'endpoint.
  • Amministratore di Database (ruolo Collaboratore SQL Server): aggiornare l'elenco di controllo di accesso (ACL) per aggiungere la subnet specificata al server.

Alternativa a RBAC di Azure

I ruoli di amministratore di rete e amministratore di database hanno più funzionalità di quelle necessarie a gestire le regole di rete virtuale. Ti serve solo un sottoinsieme delle loro funzionalità.

Puoi usare il controllo di accesso basato sui ruoli (RBAC) in Azure per creare un unico ruolo personalizzato che abbia solo il sottoinsieme necessario di capacità. Puoi usare il ruolo personalizzato invece di coinvolgere sia l'Amministratore di Rete che l'Amministratore del Database. La superficie di esposizione alla sicurezza è minore se aggiungi un utente a un ruolo personalizzato rispetto a quando lo aggiungi agli altri due ruoli principali di amministratore.

Nota

In alcuni casi, il database in SQL Database e la subnet della rete virtuale sono in sottoscrizioni diverse. In questi casi è necessario garantire le configurazioni seguenti:

  • L'utente ha le autorizzazioni necessarie per avviare le operazioni, ad esempio abilitare gli endpoint di servizio e aggiungere una subnet della rete virtuale al server specificato.
  • Entrambi gli abbonamenti hanno il provider Microsoft.Sql registrato.

Limitazioni

Per il database SQL, la funzionalità delle regole di rete virtuale presenta le limitazioni seguenti:

  • Nel firewall per il database in database SQL ogni regola di rete virtuale fa riferimento a una subnet. Devi ospitare tutte queste sottoreti di riferimento nella stessa regione geografica che ospita il database.
  • Ogni server può includere fino a 128 voci ACL per qualsiasi rete virtuale specificata.
  • Le regole di rete virtuale si applicano solo alle reti virtuali di Azure Resource Manager e non alle reti con un modello di distribuzione classica.
  • Sul firewall, gli intervalli di indirizzi IP si applicano ai seguenti elementi di rete, ma le regole di rete virtuale no:
  • Entrambe le sottoscrizioni devono trovarsi nello stesso tenant di Microsoft Entra.

Considerazioni quando si utilizzano endpoint di servizio

Quando si usano gli endpoint del servizio per il Database SQL, rivedere le considerazioni seguenti:

  • È necessario l'accesso in uscita verso gli indirizzi IP pubblici del database SQL di Azure. Devi aprire i network security groups (NSG) agli IP del database SQL per consentire la connettività. A tale scopo, è possibile usare i tag di servizio NSG per il database SQL.

ExpressRoute

Se usi ExpressRoute dai tuoi locali, per peering pubblico o Microsoft, devi identificare gli indirizzi IP NAT utilizzati. Per il peering pubblico, ogni circuito ExpressRoute usa per impostazione predefinita due indirizzi IP NAT applicati al traffico del servizio di Azure quando il traffico entra nel backbone della rete di Microsoft Azure. Per il peering Microsoft, o il cliente o il fornitore di servizi fornisce gli indirizzi IP NAT utilizzati. Per consentire l'accesso alle risorse del servizio è necessario autorizzare questi indirizzi IP pubblici nell'impostazione del firewall IP della risorsa. Per trovare gli indirizzi IP del circuito ExpressRoute per il peering pubblico, aprire un ticket di supporto con ExpressRoute tramite il portale di Azure. Per altre informazioni su NAT per il peering pubblico e il peering Microsoft di ExpressRoute, vedere Requisiti NAT per il peering pubblico di Azure.

Per consentire la comunicazione dal proprio circuito al database SQL, è necessario creare regole di rete IP per gli indirizzi IP pubblici del NAT.

Impatto dell'uso degli endpoint di servizio di rete virtuale con Archiviazione di Azure

Archiviazione di Azure supporta endpoint di servizio della rete virtuale che limitano la connettività a un account di archiviazione. Se SQL Database utilizza un account con questa configurazione, verificare l'impatto sul controllo dei BLOB.

database SQL di Azure auditing to blob storage

Il controllo di Azure SQL può scrivere log di controllo SQL nel proprio account di archiviazione. Se questo account di archiviazione usa la funzionalità endpoint servizio di rete virtuale, vedere come scrivere i log di controllo in un account di archiviazione dietro rete virtuale e firewall.

Aggiungere una regola del firewall di rete virtuale al server

Prima che questa funzione venisse potenziata, bisognava attivare gli endpoint dei servizi di rete virtuale prima di poter implementare una regola attiva di rete virtuale nel firewall. Gli endpoint collegano una determinata subnet di rete virtuale a un database in SQL Database. Da gennaio 2018, puoi aggirare questo requisito impostando il flag IgnoreMissingVNetServiceEndpoint. A questo punto, è possibile aggiungere una regola del firewall di rete virtuale al server senza attivare gli endpoint servizio di rete virtuale.

La semplice impostazione di una regola del firewall non consente di proteggere il server. Per garantire la sicurezza, è anche necessario attivare gli endpoint di servizio della rete virtuale. Quando si attivano gli endpoint di servizio, la subnet della rete virtuale riscontra un periodo di inattività fino al termine della transizione dallo stato inattivo a quello attivo. Questo periodo di inattività si verifica soprattutto nel contesto di reti virtuali di grandi dimensioni. Puoi usare il flag IgnoreMissingVNetServiceEndpoint per ridurre o eliminare i tempi di inattività durante la transizione.

Puoi impostare il IgnoreMissingVNetServiceEndpoint flag usando PowerShell. Per ulteriori informazioni, vedere Usare PowerShell per creare un endpoint di servizio di rete virtuale e una regola per il database SQL.

Usare il portale di Azure per creare una regola di rete virtuale

Questa sezione illustra come usare il portale di Azure per creare una regola di rete virtuale nel database in Database SQL di Azure. La regola dice al tuo database di accettare comunicazioni da una particolare subnet che hai etichettato come endpoint di servizio di rete virtuale.

Nota

Per aggiungere un endpoint di servizio alle regole del firewall di rete virtuale del tuo server, assicurati prima che gli endpoint di servizio siano attivati per la subnet.

Se gli endpoint di servizio non sono attivati per la subnet, nel portale verrà richiesto di abilitarli. Selezionare il pulsante Abilita nello stesso pannello in cui si aggiunge la regola.

Prerequisiti

È necessario avere già una subnet contrassegnata con lo specifico nome del tipo di endpoint servizio di rete virtuale pertinente per il database SQL.

Passaggi nel portale di Azure

  1. Accedere al portale di Azure.

  2. Cercare e selezionare SQL Server e quindi selezionare il server. In Sicurezza, selezionare Rete/Networking.

  3. Nella scheda Accesso pubblico verificare che l'accesso alla rete pubblica sia impostato su Reti selezionate. In caso contrario, le impostazioni delle Reti virtuali sono nascoste. Nella sezione Reti virtuali, selezionare il collegamento Aggiungi rete virtuale esistente.

    Screenshot che mostra le proprietà del server logico per Rete.

  4. Nel nuovo riquadro Crea/Aggiorna compilare le caselle con i nomi delle risorse di Azure.

    Suggerimento

    È necessario includere il prefisso dell'indirizzo corretto per la subnet. Il valore Prefisso dell’indirizzo è disponibile nel portale. Passare a Tutte le risorse>Tutti i tipi>Reti virtuali. Il filtro visualizza le tue reti virtuali. Selezionare la rete virtuale, quindi selezionare Subnet. La colonna INTERVALLO INDIRIZZI contiene il prefisso dell'indirizzo desiderato.

    Screenshot che mostra la compilazione di caselle per la nuova regola.

  5. Osservare la regola di rete virtuale risultante nel riquadro del Firewall.

    Screenshot che mostra la nuova regola nel riquadro Firewall.

  6. Impostare Consenti alle risorse e ai servizi di Azure di accedere a questo server su No.

    Importante

    Se si lascia Consenti ai servizi e alle risorse di Azure di accedere a questo server selezionato, il server accetta la comunicazione da qualsiasi subnet all'interno del limite di Azure. Quella comunicazione proviene da uno degli indirizzi IP riconosciuti come quelli all'interno di intervalli definiti per i datacenter Azure. Mantenere il controllo abilitato potrebbe consentire un accesso eccessivo dal punto di vista della sicurezza. La funzionalità di endpoint servizio di rete virtuale di Microsoft Azure, in sinergia con la funzionalità delle regole di rete virtuale del database SQL, consente di ridurre la superficie di attacco per la sicurezza.

  7. Fare clic sul pulsante OK nella parte inferiore del riquadro.

Nota

I seguenti stati o status si applicano alle regole:

  • Operazione riuscita: Indica che l'operazione che hai avviato è andata a buon fine.
  • Fallito: Indica che l'operazione che hai avviato è fallita.
  • Eliminato: Si applica solo all'operazione Delete e indica che la regola è stata eliminata e non si applica più.
  • InProgress: indica che l'operazione è in corso. Mentre l'operazione è in questo stato, viene applicata la regola precedente.

Usare PowerShell per creare una regola di rete virtuale

Puoi usare uno script per creare regole di rete virtuale usando il cmdlet New-AzSqlServerVirtualNetworkRule PowerShell o az network vnet create. Per ulteriori informazioni, vedere Usare PowerShell per creare un endpoint di servizio della rete virtuale e una regola per il database SQL.

Usare l’API REST per creare una regola di rete virtuale

Internamente, i cmdlet di PowerShell per le azioni SQL sulle reti virtuali chiamano API REST. È possibile chiamare direttamente le API REST. Per altre informazioni, vedere Regole di rete virtuale: Operazioni.

Risolvere gli errori 40914 e 40615

L'errore di connessione 40914 è correlato alle regole di rete virtuale, come specificato nel riquadro Firewall nel portale di Azure.
L'errore 40615 è simile, ma riguarda le regole degli indirizzi IP sul firewall.

Errore 40914

Testo del messaggio: “Impossibile aprire il server '[nome-server]' richiesto dall'account di accesso. Il client non è autorizzato ad accedere al server".

Descrizione dell'errore: il client si trova in una subnet che include endpoint server della rete virtuale. Ma il server non ha una regola di rete virtuale che conceda alla subnet il diritto di comunicare con il database.

Risoluzione dell'errore: nel riquadro Firewall del portale di Azure usare il controllo delle regole di rete virtuale per aggiungere una regola di rete virtuale per la subnet.

Errore 40615

Testo del messaggio: “Impossibile aprire il server '{0}' richiesto dall'account di accesso. Il client con indirizzo IP '{1}' non è autorizzato ad accedere al server".

Descrizione dell'errore: il client sta tentando di connettersi da un indirizzo IP che non è autorizzato a connettersi al server. Il firewall del server non dispone di alcuna regola per gli indirizzi IP che consenta a un client di comunicare dall'indirizzo IP specifico al database.

Risoluzione dell'errore: immettere l'indirizzo IP del client come regola IP. Usa il pannello Firewall nel portale Azure per completare questo passaggio.

Virtual network service endpoints for Azure Synapse Analytics

Per ulteriori informazioni, consulta endpoint e regole di servizio di rete virtuale per Azure Synapse Analytics.