Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Tip
Microsoft Fabric Data Warehouse è un data warehouse relazionale su scala aziendale su una base data lake, con un'architettura futura, un'intelligenza artificiale predefinita e nuove funzionalità. Se non si ha familiarità con il data warehousing, iniziare con Fabric Data Warehouse. I carichi di lavoro esistenti del pool SQL dedicated possono eseguire l'aggiornamento a Fabric per accedere a nuove funzionalità tra data science, analisi in tempo reale e creazione di report.
Si applica a: Pool SQL dedicati di Azure Synapse Analytics
Le regole di rete virtuale sono una funzione di sicurezza del firewall che controlla se il server logico per i database del tuo pool SQL dedicato (precedentemente SQL DW) in Azure Synapse Analytics accetta comunicazioni inviate da particolari subnet nelle reti virtuali. Questo articolo spiega perché le regole di rete virtuale sono a volte la migliore opzione per consentire in modo sicuro la comunicazione con il tuo pool SQL dedicato.
Per creare una regola di rete virtuale, deve prima esserci un endpoint di servizio di rete virtuale a cui la regola possa fare riferimento.
Creare una regola di rete virtuale
Se vuoi creare solo una regola di rete virtuale, puoi saltare ai passaggi e alle spiegazioni più avanti in questo articolo.
Dettagli sulle regole della rete virtuale
Questa sezione descrive diversi dettagli sulle regole della rete virtuale.
Solo una regione geografica
Ogni endpoint di servizio di rete virtuale si applica a una sola regione Azure. L'endpoint non consente ad altre regioni di accettare la comunicazione dalla subnet.
Qualsiasi regola di rete virtuale è limitata alla regione a cui si applica il punto finale sottostante.
A livello server, non a livello database
Ogni regola di rete virtuale si applica a tutto il server, non solo a un particolare database sul server. In altre parole, le regole di rete virtuale si applicano a livello di server, non a livello di database.
Ruoli nell'amministrazione della sicurezza
C'è una separazione dei ruoli di sicurezza nell'amministrazione degli endpoint di servizio di rete virtuale. È richiesta un'azione da ciascuno dei seguenti ruoli:
- Amministratore di rete (ruolo di Network Contributor ): Attiva l'endpoint.
- Amministratore Database (ruolo SQL Server Contributor): Aggiorna la lista di controllo accessi (ACL) per aggiungere la subnet indicata al server.
Alternativa ad Azure RBAC
I ruoli di Network Admin e Database Admin offrono più capacità di quante ne siano necessarie per gestire le regole di rete virtuali. Serve solo un sottoinsieme delle loro capacità.
Hai l'opzione di utilizzare il controllo di accesso basato su ruoli (RBAC) in Azure per creare un unico ruolo personalizzato che abbia solo il sottoinsieme necessario di capacità. Il ruolo personalizzato potrebbe essere utilizzato invece di coinvolgere sia l'Amministratore di Rete che l'Amministratore del Database. La superficie di esposizione ai rischi di sicurezza è minore se aggiungi un utente a un ruolo personalizzato rispetto ad aggiungere l'utente agli altri due ruoli principali di amministratore.
Note
In alcuni casi, il pool SQL dedicato e la subnet virtuale di rete sono in abbonamenti diversi. In questi casi è necessario garantire le configurazioni seguenti:
- L'utente ha i permessi necessari per avviare operazioni, come abilitare gli endpoint dei servizi e aggiungere una subnet di rete virtuale al server indicato.
- Entrambe le sottoscrizioni devono avere registrato il provider
Microsoft.Sql.
Limitations
Per pool SQL dedicati standalone, la funzionalità delle regole di rete virtuale presenta le seguenti limitazioni:
- Nel firewall del tuo server logico, ogni regola di rete virtuale fa riferimento a una subrete. Tutte le subnet di riferimento devono essere ospitate nella stessa regione geografica del pool SQL dedicato.
- Ogni server può avere fino a 128 voci ACL per qualsiasi rete virtuale.
- Le regole delle reti virtuali si applicano solo alle reti virtuali di Azure Resource Manager e non alle reti del modello di distribuzione classico.
- Sul firewall, gli intervalli di indirizzi IP si applicano ai seguenti elementi di rete, ma le regole della rete virtuale no:
- Rete privata virtuale (VPN) site-to-site (S2S)
- On-premises via Azure ExpressRoute
- Entrambi gli abbonamenti devono essere nello stesso tenant Microsoft Entra.
Considerazioni quando si utilizzano gli endpoint di servizio
Quando utilizzi endpoint di servizio per un pool SQL dedicato, rivedi quanto segue:
- È richiesto l'accesso in uscita agli IP pubblici di Azure Synapse Analytics. I gruppi di sicurezza di rete (NSG) devono consentire la connettività agli IP dei servizi. Puoi usare il
Sqltag di servizio NSG.
ExpressRoute
Se usi ExpressRoute dalla tua sede, per peering pubblico o peering Microsoft, dovrai identificare gli indirizzi IP NAT utilizzati. Per il peering pubblico, ogni circuito ExpressRoute utilizza di default due indirizzi IP NAT applicati al traffico di servizio Azure quando il traffico entra nella backbone di rete di Microsoft Azure. Per il peering Microsoft, gli indirizzi IP NAT utilizzati sono forniti dal cliente o dal fornitore di servizi. Per consentire l'accesso alle risorse del servizio è necessario autorizzare questi indirizzi IP pubblici nell'impostazione del firewall IP per le risorse. Per trovare gli indirizzi IP del circuito ExpressRoute con peering pubblico, apri un ticket di supporto con ExpressRoute tramite il portale Azure. Per altre informazioni sul NAT per il peering pubblico di ExpressRoute e il peering Microsoft, vedere Requisiti NAT per il peering pubblico di Azure.
Per consentire la comunicazione dal tuo circuito ad Azure Synapse Analytics, devi creare regole di rete IP per gli indirizzi IP pubblici del tuo NAT.
Impatto dell'utilizzo degli endpoint di servizio della rete virtuale con Archiviazione di Azure
Archiviazione di Azure ha introdotto la stessa funzionalità che consente di limitare la connettività al tuo account Archiviazione di Azure. Se usi questa funzione con un account Archiviazione di Azure utilizzato da Azure Synapse Analytics, potresti incontrare problemi.
Le sezioni seguenti discutono le funzionalità di Azure Synapse Analytics interessate.
Azure Synapse Analytics PolyBase e istruzione COPY
PolyBase e l'istruzione COPY sono comunemente utilizzati per caricare dati in Azure Synapse Analytics da Archiviazione di Azure account per l'ingestione di dati ad alto throughput. Se l'account di Archiviazione di Azure da cui si caricano dati limita l'accesso solo a un insieme di subnet di rete virtuale, la connettività quando si PolyBase e l'istruzione COPY per l'account di archiviazione si interromperà. Per abilitare scenari di importazione ed esportazione usando COPY e PolyBase con Azure Synapse Analytics che si collega ad Archiviazione di Azure protetto da una rete virtuale, segui i passaggi in questa sezione.
Prerequisites
- Installare Azure PowerShell. Per altre informazioni, vedere Installare il modulo Azure Az PowerShell.
- Se hai un account per utilizzo generico v1 o un account Archiviazione BLOB di Azure, devi prima eseguire l'aggiornamento a un account per utilizzo generico v2 seguendo i passaggi descritti in Eseguire l'aggiornamento a un account di archiviazione per utilizzo generico v2.
- Devi avere Consenti ai servizi Microsoft attendibili di accedere a questo account di archiviazione attivato nel menu delle impostazioni Firewall e reti virtuali dell'account di archiviazione di Azure. Abilitando questa configurazione sarà possibile che PolyBase e l'istruzione COPY si connettano all'account di archiviazione usando un'autenticazione forte, dove il traffico di rete rimane sulla backbone di Azure. Per maggiori informazioni, consulta questa guida.
Important
Il modulo Azure Resource Manager (AzureRM) di PowerShell è stato reso obsoleto il 29 febbraio 2024. Tutto lo sviluppo futuro deve usare il modulo Az.Sql. Agli utenti è consigliato migrare da AzureRM al modulo Az PowerShell per garantire supporto e aggiornamenti continui. Il modulo AzureRM non è più gestito o supportato. Gli argomenti per i comandi nel modulo Az PowerShell e nei moduli AzureRM sono sostanzialmente identici. Per altre informazioni sulla compatibilità, vedere Introduzione al nuovo modulo Az PowerShell.
Steps
Se hai un pool SQL dedicato standalone (precedentemente SQL DW), registra il tuo server SQL con Microsoft Entra ID usando PowerShell:
Connect-AzAccount Select-AzSubscription -SubscriptionId <subscriptionId> Set-AzSqlServer -ResourceGroupName your-database-server-resourceGroup -ServerName your-SQL-servername -AssignIdentityQuesto passaggio non è necessario per i pool SQL dedicati all'interno di uno spazio di lavoro Azure Synapse Analytics. L'identità gestita assegnata dal sistema (SA-MI) dell'area di lavoro è membro del ruolo Amministratore di Synapse e dispone quindi di privilegi elevati nei pool SQL dedicati dell'area di lavoro.
Crea un Account di archiviazione per utilizzo generico v2 seguendo i passaggi di Crea un account di archiviazione.
- Se hai un account v1 o gestione rete virtuale di Azure generico, devi prima aggiornare alla v2 seguendo i passaggi di Eseguire l'aggiornamento a un account di archiviazione per utilizzo generico v2.
- Per problemi noti con Azure Data Lake Storage Gen2, vedi Problemi noti con Azure Data Lake Storage Gen2.
Nella pagina del tuo account di archiviazione, seleziona Controllo accessi (IAM).
Selezionare Aggiungi>Aggiungi assegnazione di ruolo per aprire la pagina Aggiungi assegnazione di ruolo.
Assegnare il ruolo seguente. Per i passaggi dettagliati, vedere Assegnare ruoli di Azure utilizzando il portale di Azure.
Setting Value Ruolo Collaboratore ai dati di Storage Blob Assegna accesso a Utente, gruppo o entità servizio Members Server o spazio di lavoro che ospita il tuo pool SQL dedicato che hai registrato con Microsoft Entra ID
Note
Solo i membri con privilegio di proprietario sull'account di archiviazione possono eseguire questo passaggio. Per vari ruoli integrati in Azure, vedi Ruoli predefiniti di Azure.
Per abilitare la connettività PolyBase all'account Archiviazione di Azure:
Crea una chiave maestra del database se non ne hai creata una prima.
CREATE MASTER KEY [ENCRYPTION BY PASSWORD = '<password>'];Crea una credenziale con ambito di database IDENTITY = 'Managed Service Identity'.
CREATE DATABASE SCOPED CREDENTIAL msi_cred WITH IDENTITY = 'Managed Service Identity';Non c'è bisogno di specificare SECRET con una chiave di accesso di Archiviazione di Azure perché questo meccanismo utilizza Managed Identity internamente. Questo passaggio non è necessario per i pool SQL dedicati all'interno di uno spazio di lavoro Azure Synapse Analytics. L'identità gestita assegnata dal sistema (SA-MI) dell'area di lavoro è membro del ruolo Amministratore di Synapse e dispone quindi di privilegi elevati nei pool SQL dedicati dell'area di lavoro.
Il nome IDENTITY deve essere 'Managed Service Identity' affinché la connettività PolyBase possa funzionare con un account Archiviazione di Azure protetto tramite una rete virtuale.
Creare un'origine dati esterna con lo schema
abfss://per la connessione all'account di archiviazione per utilizzo generico v2 con PolyBase.CREATE EXTERNAL DATA SOURCE ext_datasource_with_abfss WITH (TYPE = hadoop, LOCATION = 'abfss://myfile@mystorageaccount.dfs.core.windows.net', CREDENTIAL = msi_cred);- Se hai già tabelle esterne associate a un account v1 o gestione rete virtuale di Azure generico, dovresti prima eliminare quelle tabelle esterne. Poi elimina la corrispondente fonte di dati esterna. Successivamente, creare un'origine dati esterna con lo schema
abfss://che si collega a un account di archiviazione per utilizzo generico v2, come mostrato in precedenza. Poi ricrea tutte le tabelle esterne usando questa nuova fonte di dati esterna. Potresti usare il Generate and Publish Scripts Wizard per generare create-script per tutte le tabelle esterne in modo più semplice. - Per altre informazioni sullo schema
abfss://, vedere Usare l'URI di Azure Data Lake Storage Gen2. - Per maggiori informazioni sui comandi T-SQL, vedi CREATE EXTERNAL DATA SOURCE.
- Se hai già tabelle esterne associate a un account v1 o gestione rete virtuale di Azure generico, dovresti prima eliminare quelle tabelle esterne. Poi elimina la corrispondente fonte di dati esterna. Successivamente, creare un'origine dati esterna con lo schema
Consulta normalmente usando tabelle esterne.
Controllo di Azure Synapse Analytics nell'archiviazione BLOB
Azure Synapse Analytics Auditing può scrivere log di audit SQL sul tuo account di storage. Se questo account di storage utilizza la funzionalità degli endpoint di servizio della rete virtuale, vedi come scrivere i log di controllo in un account di storage protetto da VNet e firewall.
Aggiungi una regola del firewall di rete virtuale al server SQL del pool SQL dedicato
In passato, prima che questa funzionalità fosse migliorata, era necessario attivare gli endpoint servizio di rete virtuale prima di poter implementare una regola di rete virtuale attiva nel firewall. Gli endpoint collegano una data subrete di rete virtuale a un pool SQL dedicato. A partire da gennaio 2018, puoi aggirare questo requisito impostando il flag IgnoreMissingVNetServiceEndpoint . Ora puoi aggiungere una regola di firewall di rete virtuale al tuo server senza attivare gli endpoint dei servizi di rete virtuali.
Impostare semplicemente una regola firewall non aiuta a proteggere il server. Devi anche attivare gli endpoint di servizio della rete virtuale affinché la sicurezza abbia effetto. Quando attivi gli endpoint di servizio, la tua subnet della rete virtuale subisce inattività fino a completare la transizione da disattivata ad attiva. Questo periodo di inattività vale soprattutto nel contesto di grandi reti virtuali. 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, vedi New-AzSqlServerVirtualNetworkRule.
Usa il portale Azure per creare una regola di rete virtuale
Note
Queste istruzioni di regole di rete virtuale si applicano a pool SQL dedicati standalone. Per la configurazione della rete degli spazi di lavoro, consulta le regole firewall IP di Azure Synapse Analytics.
In questa sezione, scopri come puoi utilizzare il portale Azure per creare una regola di rete virtuale per un pool SQL dedicato standalone. La regola indica al server logico di accettare la comunicazione da una particolare subnet che è stata etichettata come endpoint di servizio di rete virtuale.
Note
Se intendi 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, il portale ti chiede di abilitarli. Seleziona il pulsante Abilita nello stesso pannello in cui aggiungi la regola.
Prerequisites
Si deve già disporre di una subnet etichettata con il nome del tipo dell'endpoint servizio di rete virtuale usato da Azure Synapse Analytics.
- Il nome del tipo di endpoint rilevante è
Microsoft.Sql. - Se la subnet potrebbe non essere etichettata con il nome del tipo, vedi Verificare che l'endpoint del servizio sia abilitato.
Procedure del portale di Azure
Accedi al portale di Azure.
Cerca e seleziona server SQL, poi seleziona il tuo server. In Sicurezza, selezionare Rete.
Nella scheda Accesso Pubblico , assicurati che l'accesso alla rete Pubblica sia impostato su Seleziona reti, altrimenti le impostazioni delle reti virtuali sono nascoste. Seleziona + Aggiungi rete virtuale esistente nella sezione Reti Virtuali .
Nel nuovo pannello Crea/Aggiorna, compila le caselle con i nomi delle tue risorse Azure.
Tip
Devi includere il prefisso di indirizzo corretto per la tua subnet. Puoi trovare il valore prefisso indirizzo nel portale. Vai a Tutte le risorse>Tutti i tipi>di reti virtuali. Il filtro mostra le tue reti virtuali. Seleziona la tua rete virtuale, poi seleziona Subnets. La colonna INTERVALLO DI INDIRIZZI contiene il prefisso di indirizzo di cui hai bisogno.
Consulta la regola di rete virtuale risultante nel pannello Firewall .
Imposta Consenti ai servizi e alle risorse Azure di accedere a questo server su No.
Important
Se lasci Consenti ai servizi e alle risorse di Azure di accedere a questo server selezionato, il tuo server accetta comunicazioni da qualsiasi subnet all'interno del confine di Azure. Cioè una comunicazione che proviene da uno degli indirizzi IP riconosciuti come quelli all'interno di intervalli definiti per i datacenter Azure. Lasciando il controllo abilitato, il numero di accessi potrebbe essere eccessivo dal punto di vista della sicurezza. La funzionalità endpoint servizio di rete virtuale di Microsoft Azure, insieme alle regole di rete virtuale di Azure Synapse Analytics, può ridurre la superficie di attacco.
Seleziona il pulsante OK vicino alla parte inferiore del riquadro.
Note
I seguenti stati o stati si applicano alle regole:
- Pronta: indica che l'operazione avviata è riuscita.
- Fallito: Indica che l'operazione che hai avviato è fallita.
-
Eliminato: Si applica solo all'operazione
Deletee indica che la regola è stata eliminata e non si applica più. - InProgress: Indica che l'operazione è in corso. La vecchia regola si applica mentre l'operazione è in questo stato.
Usa PowerShell per creare una regola di rete virtuale
Uno script può anche creare regole di rete virtuali usando il cmdlet PowerShell New-AzSqlServerVirtualNetworkRule o az network vnet create. Per ulteriori informazioni, vedi New-AzSqlServerVirtualNetworkRule.
Usa l'API REST per creare una regola di rete virtuale
Internamente, i cmdlet PowerShell per le azioni di rete virtuale di Synapse SQL chiamano le API REST. Puoi chiamare direttamente le API REST. Per ulteriori informazioni, vedi Regole della rete virtuale: Operazioni.
Risolvere gli errori 40914 e 40615
L'errore di connessione 40914 riguarda le regole di rete virtuale, come specificato nel pannello Firewall nel portale Azure.
L'errore 40615 è simile, tranne che riguarda le regole degli indirizzi IP sul firewall.
Errore 40914
Testo del messaggio: "Impossibile aprire il server '[nome-server]' richiesto dall'accesso. Il client non è autorizzato ad accedere al server".
Descrizione dell'errore: il client si trova in una subnet che include endpoint server di rete virtuale. Ma il server non ha una regola di rete virtuale che conceda alla subnet il diritto di comunicare con il database.
Risoluzione errori: Nel pannello Firewall del portale Azure, usa il controllo delle regole di rete virtuale per aggiungere una regola di rete virtuale per la subrete.
Errore 40615
Testo del messaggio: "Non si può aprire il server '{0}' richiesto dal login. Il client con indirizzo IP '{1}' non è autorizzato ad accedere al server".
Descrizione dell'errore: Il client sta cercando di connettersi da un indirizzo IP che non è autorizzato a connettersi al server. Il firewall server non ha una regola sugli indirizzi IP che permetta a un client di comunicare dall'indirizzo IP indicato al database.
Risoluzione errori: Inserisci l'indirizzo IP del client come regola IP. Usa il pannello Firewall nel portale Azure per fare questo passaggio.