Controllo di accesso alla rete del database SQL di Azure e Azure Synapse Analytics
Si applica a:database SQL di AzureAzure Synapse Analytics (solo pool SQL dedicati)
Quando si crea un server logico dal portale di Azure per il database SQL di Azure e Azure Synapse Analytics, il risultato è un endpoint pubblico nel formato yourservername.database.windows.net.
È possibile usare i seguenti controlli di accesso di rete per consentire l'accesso in modo selettivo a un database tramite l'endpoint pubblico:
- Consentire ai servizi e alle risorse di Azure di accedere a questo server: quando abilitate, altre risorse entro i limiti di Azure, ad esempio una macchina virtuale di Azure, possono accedere al Database SQL
- Regole del firewall IP: usare questa funzionalità per consentire in modo esplicito le connessioni da un indirizzo IP specifico, ad esempio dai computer locali
È anche possibile consentire l'accesso privato al database dalle reti virtuali tramite:
- Regole del firewall di rete virtuale: usare questa funzionalità per consentire il traffico da una rete virtuale specifica entro il limite di Azure
- Collegamento privato: usare questa funzionalità per creare un endpoint privato per il server logico in Azure all'interno di una rete virtuale specifica
Importante
Questo articolo non si applica a Istanza gestita di SQL. Per altre informazioni sulla configurazione di rete, vedere connessione a un'Istanza gestita di SQL di Azure.
Vedere il video seguente per una spiegazione generale di questi controlli di accesso e delle relative funzioni:
Consenti Servizi di Azure
Per impostazione predefinita, durante la creazione di un nuovo server logico dal portale di Azure, l’impostazione Consenti ai servizi e alle risorse di Azure di accedere a questo server non è spuntata e non è abilitata. Questa impostazione viene visualizzata quando la connettività è consentita tramite l'endpoint di servizio pubblico.
È anche possibile modificare questa impostazione tramite l'impostazione Rete dopo la creazione del server logico come indicato di seguito:
Quando l'impostazione Consenti alle risorse e ai servizi di Azure di accedere a questo server è abilitata, il server consente le comunicazioni da tutte le risorse all'interno dei limiti di Azure, che potrebbero essere o meno parte della sottoscrizione.
In molti casi, l'abilitazione dell'impostazione è più permissiva rispetto a quanto desiderato dalla maggior parte dei clienti. È consigliabile deselezionare questa impostazione e sostituirla con regole del firewall IP più restrittive o con regole del firewall di rete virtuale.
Tuttavia, questa operazione influisce sulle funzionalità seguenti eseguite su macchine virtuali in Azure che non fanno parte della rete virtuale e quindi si connettono al database tramite un indirizzo IP di Azure:
Servizio Importazione/Esportazione di Azure
Il servizio Importazione/Esportazione non funziona quando l'opzione Consenti ai servizi e alle risorse di Azure di accedere a questo server non è abilitata. È però possibile aggirare il problema eseguendo manualmente sqlpackage.exe da una macchina virtuale di Azure o eseguendo l'esportazione direttamente nel codice usando l'API DACFx.
Sincronizzazione dei dati
Per usare la funzionalità di sincronizzazione dati con Consenti ai servizi e alle risorse di Azure di accedere a questo server non abilitata, è necessario creare singole voci di regole del firewall per aggiungere indirizzi IP dal tag del servizio Sql per l'area che ospita il database Hub . Aggiungere queste regole del firewall a livello di server ai server che ospitano database Hub e Member (che possono trovarsi in aree diverse)
Usare il seguente script di PowerShell per generare indirizzi IP corrispondenti al tag del servizio SQL per l'area Stati Uniti occidentali
PS C:\> $serviceTags = Get-AzNetworkServiceTag -Location eastus2
PS C:\> $sql = $serviceTags.Values | Where-Object { $_.Name -eq "Sql.WestUS" }
PS C:\> $sql.Properties.AddressPrefixes.Count
70
PS C:\> $sql.Properties.AddressPrefixes
13.86.216.0/25
13.86.216.128/26
13.86.216.192/27
13.86.217.0/25
13.86.217.128/26
13.86.217.192/27
Suggerimento
Get-AzNetworkServiceTag restituisce l'intervallo globale per tag del servizio SQL nonostante specifichi il parametro Posizione. Assicurarsi di filtrarlo in base all'area che ospita il database Hub usato dal gruppo di sincronizzazione
L'output dello script di PowerShell è nella notazione CIDR (Classless Inter-Domain Routing). Questa deve essere convertita in un formato di indirizzo IP iniziale e finale usando Get-IPrangeStartEnd.ps1 nel modo seguente:
PS C:\> Get-IPrangeStartEnd -ip 52.229.17.93 -cidr 26
start end
----- ---
52.229.17.64 52.229.17.127
È possibile usare questo script di PowerShell aggiuntivo per convertire tutti gli indirizzi IP da CIDR al formato di indirizzo IP iniziale e finale.
PS C:\>foreach( $i in $sql.Properties.AddressPrefixes) {$ip,$cidr= $i.split('/') ; Get-IPrangeStartEnd -ip $ip -cidr $cidr;}
start end
----- ---
13.86.216.0 13.86.216.127
13.86.216.128 13.86.216.191
13.86.216.192 13.86.216.223
È ora possibile aggiungerli come regole del firewall distinte e quindi disabilitare l'impostazione Consenti ai servizi e alle risorse di Azure di accedere a questo server.
Regole del firewall IP
Il firewall basato su IP è una funzionalità del server logico in Azure che impedisce tutti gli accessi al server fino a quando non si aggiungono in modo esplicito gli indirizzi IP dei computer client.
Regole del firewall della rete virtuale
Oltre alle regole IP, il firewall del server consente di definire le regole di rete virtuale. Per altre informazioni, vedere Endpoint servizio di rete virtuale e regole per il database SQL di Azure.
Terminologia di Rete di Azure
Occorre conoscere le seguenti condizioni per la rete di Azure durante l'esplorazione delle regole del firewall di rete virtuale
Rete virtuale: è possibile associare reti virtuali alla sottoscrizione di Azure
Subnet: una rete virtuale contiene subnet. Le macchine virtuali (VM) di Azure esistenti vengono assegnate a subnet. Una subnet può contenere varie VM o altri nodi di calcolo. I nodi di calcolo esterni alla rete virtuale non possono accedervi, a meno che non si configuri la sicurezza in modo da consentirne l'accesso.
Endpoint servizio di rete virtuale: un endpoint servizio di rete virtuale è una subnet in cui i valori delle proprietà includono uno o più nomi formali di tipi di servizi Azure. Questo articolo è incentrato sul nome del tipo Microsoft.Sql, che fa riferimento al servizio Azure denominato Database SQL.
Regola di rete virtuale: una regola di rete virtuale per il server è una subnet presente nell'elenco di controllo di accesso (ACL) del server. Per essere nell'elenco ACL per il database nel database SQL, la subnet deve contenere il nome del tipo Microsoft.Sql. Una regola di rete virtuale indica al server di accettare le comunicazioni da ogni nodo che si trova nella subnet.
Regole del firewall della rete virtuale e IP a confronto
Il firewall del database SQL di Azure consente di specificare gli intervalli di indirizzi IP da cui vengono accettate le comunicazioni nel database SQL. Questo approccio è ideale per gli indirizzi IP stabili esterni alla rete privata di Azure, Tuttavia, le macchine virtuali (VM) all'interno della rete privata di Azure sono configurate con indirizzi IP dinamici. Gli indirizzi IP dinamici possono cambiare quando la macchina virtuale viene riavviata e a sua volta invalidano la regola del firewall basata su IP. Sarebbe inutile specificare un indirizzo IP dinamico in una regola del firewall, in un ambiente di produzione.
È possibile ovviare a questa limitazione ottenendo un indirizzo IP statico per la VM. Per informazioni, vedere Creare una macchina virtuale con un indirizzo IP pubblico statico usando il portale di Azure. Tuttavia, l'approccio IP statico può diventare difficile da gestire ed è dispendioso a livello di scalabilità.
Le regole di rete virtuale sono un'alternativa più semplice per stabilire e gestire l'accesso da una subnet specifica che contiene le VM.
Nota
Il database SQL non è ancora disponibile in una subnet. Se il server è un nodo in una subnet nella rete virtuale, tutti i nodi all'interno della rete virtuale possono comunicare con il database SQL. In questo caso, le macchine virtuali possono comunicare con il database SQL senza aver bisogno di regole di rete virtuale o IP.
Collegamento privato
Il servizio Collegamento privato consente di connettersi a un server tramite un endpoint privato. Un endpoint privato è un indirizzo IP privato all'interno di una rete virtuale e di una subnet specifiche.
Passaggi successivi
Per una guida di avvio rapido sulla creazione di un database e di una regola del firewall IP a livello di server, vedere Creare un database nel database SQL.
Per una guida di avvio rapido sulla creazione di una regola del firewall di rete virtuale a livello di server, vedere Endpoint servizio di rete virtuale e regole per database SQL di Azure.
Per aiuto online sulla connessione a un database nel database SQL da applicazioni open source o di terzi, vedere Esempi di codice di avvio rapido del client per il database SQL.
Per informazioni sulle porte aggiuntive che si possono dover aprire vedere la sezione Esterno rispetto all'interno di Porte successive alla 1433 per ADO.NET 4.5.
Per una panoramica della connettività del database SQL di Azure, vedere Architettura della connettività di Azure SQL.
Per una panoramica della sicurezza del database SQL di Azure vedere Protezione del Database SQL
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per