Condividi tramite


Connettersi in modo sicuro alle risorse back-end da un ambiente del servizio app

Importante

Questo articolo riguarda l'ambiente del servizio app v1. L'ambiente del servizio app v1 e v2 è stato ritirato il 31 agosto 2024. È disponibile una nuova versione dell'ambiente del servizio app più facile da usare, che viene eseguita in un'infrastruttura più potente. Per altre informazioni sulla nuova versione, vedere Introduzione all'ambiente del servizio app. Se al momento si usa l'ambiente del servizio app v1, seguire la procedura descritta in questo articolo per eseguire la migrazione alla nuova versione.

A partire dal 31 agosto 2024, il Contratto di servizio e i crediti di servizio non si applicano più ai carichi di lavoro dell'ambiente del servizio app v1 e v2 che continuano a essere in produzione, perché sono prodotti ritirati. È stata avviata la dismissione dell'hardware dell'ambiente del servizio app v1 e v2, il che può influire sulla disponibilità e sulle prestazioni di app e dati.

È necessario completare immediatamente la migrazione all'ambiente del servizio app v3 oppure è possibile che le app e le risorse vengano eliminate. Si tenterà con il massimo impegno di eseguire automaticamente la migrazione di qualsiasi ambiente del servizio app v1 e v2 rimanente usando la funzionalità di migrazione sul posto, ma Microsoft non dichiara né garantisce la disponibilità delle applicazioni dopo la migrazione automatica. Può essere necessario eseguire una configurazione manuale per completare la migrazione e ottimizzare la scelta di SKU del piano di servizio app in base a specifiche esigenze. Se la migrazione automatica non è fattibile, le risorse e i dati delle app associati verranno eliminati. È consigliabile agire tempestivamente per evitare uno di questi scenari estremi.

Se è necessario più tempo, è possibile usufruire di un periodo di tolleranza di 30 giorni una tantum per completare la migrazione. Per altre informazioni e per richiedere questo periodo di tolleranza, vedere la panoramica del periodo di tolleranza, quindi passare al portale di Azure e visitare il pannello Migrazione per ogni ambiente del servizio app.

Per le informazioni più aggiornate sul ritiro dell'ambiente del servizio app v1/v2, vedere l'Aggiornamento sul ritiro dall'ambiente del servizio app v1 e v2.

Poiché un ambiente del servizio app viene sempre creato in una rete virtuale di Azure Resource Manager o in una rete virtuale creata con il modello di distribuzione classica, le connessioni in uscita da un ambiente del servizio app ad altre risorse back-end possono transitare esclusivamente tramite la rete virtuale. A partire da giugno 2016, gli ambienti del servizio app possono essere distribuiti in reti virtuali che usano intervalli di indirizzi pubblici o spazi di indirizzi RFC1918 (indirizzi privati).

Ad esempio, potrebbe essere in esecuzione un'istanza di SQL Server in un cluster di macchine virtuali con la porta 1433 bloccata. In base all'elenco di controllo di accesso definito per l'endpoint, potrebbe essere consentito solo l'accesso da altre risorse nella stessa rete virtuale.

Oppure, gli endpoint sensibili potrebbero essere eseguiti in locale ed essere connessi ad Azure tramite connessioni da sito a sito o connessioni Azure ExpressRoute. In questo caso, solo le risorse nelle reti virtuali connesse ai tunnel da sito a sito o ExpressRoute possono accedere agli endpoint locali.

Per tutti questi scenari, le app in esecuzione in un ambiente del servizio app possono connettersi in modo sicuro a vari server e risorse. Il traffico in uscita dalle app in esecuzione in un ambiente del servizio app agli endpoint privati nella stessa rete virtuale (o connessi alla stessa rete virtuale) transiterà solo attraverso la rete virtuale. Il traffico in uscita verso gli endpoint privati non transiterà attraverso la rete Internet pubblica.

Un'eccezione è rappresentata dal traffico in uscita da un ambiente del servizio app agli endpoint all'interno di una rete virtuale. Gli ambienti del servizio app non riescono a raggiungere gli endpoint delle macchine virtuali situate all'interno della stessa subnet dell'ambiente del servizio app. Questa limitazione non costituisce solitamente un problema, purché gli ambienti del servizio app vengano distribuiti in una subnet riservata a uso esclusivo dell'ambiente del servizio app.

Nota

Sebbene in questo articolo si faccia riferimento alle app Web, è applicabile anche ad app per le API e app per dispositivi mobili.

Requisiti per DNS e connettività in uscita

Per un corretto funzionamento dell'ambiente del servizio app, è necessario l'accesso in uscita ai vari endpoint. Un elenco completo degli endpoint esterni usati da un ambiente del servizio app è disponibile nella sezione "Requisiti della connettività di rete" dell'articolo Configurazione di rete per ExpressRoute .

Gli ambienti del servizio app richiedono un'infrastruttura DNS valida configurata per la rete virtuale. Se la configurazione del DNS viene cambiata dopo la creazione di un ambiente del servizio app, gli sviluppatori possono forzare un ambiente del servizio app a selezionare la nuova configurazione. Nella parte superiore del riquadro di gestione dell'ambiente del servizio app nel portale selezionare l'icona Riavvia per attivare un riavvio incrementale dell'ambiente che farà sì che venga selezionata la nuova configurazione del DNS.

È anche consigliabile che i server DNS personalizzati nella rete virtuale vengano configurati in anticipo prima di creare un ambiente del servizio app. Se la configurazione del DNS della rete virtuale viene cambiata durante la creazione di un ambiente del servizio app, il processo di creazione di tale ambiente non verrà completato. Sull'altra estremità di un gateway VPN, se esiste un server DNS personalizzato non raggiungibile o non disponibile, il processo di creazione dell'ambiente del servizio app non verrà completato.

Connessione a un'istanza di SQL Server

Una configurazione di SQL Server comune prevede un endpoint in ascolto sulla porta 1433:

Endpoint di SQL Server

È possibile usare due approcci per limitare il traffico a questo endpoint:

Limitazione dell'accesso con un elenco di controllo di accesso di rete

È possibile proteggere la porta 1433 usando un elenco di controllo di accesso di rete. L'esempio seguente aggiunge alle autorizzazioni di assegnazione gli indirizzi client provenienti dall'interno di una rete virtuale e blocca l'accesso a tutti gli altri client.

Esempio di elenco di controllo di accesso di rete (ACL)

Le applicazioni eseguite nell'ambiente del servizio app, nella stessa rete virtuale di SQL Server, possono connettersi all'istanza di SQL Server. Usare l'indirizzo IP interno della rete virtuale per la macchina virtuale di SQL Server.

La stringa di connessione di esempio seguente fa riferimento all'instanza di SQL Server usando l'indirizzo IP privato.

Server=tcp:10.0.1.6;Database=MyDatabase;User ID=MyUser;Password=PasswordHere;provider=System.Data.SqlClient

Sebbene la macchina virtuale abbia anche un endpoint pubblico, i tentativi di connessione usando l'indirizzo IP pubblico verranno rifiutati a causa dell'elenco di controllo di accesso di rete.

Limitazione dell'accesso con un gruppo di sicurezza di rete

In alternativa, per proteggere l'accesso è possibile usare un gruppo di sicurezza di rete. I gruppi di sicurezza di rete possono essere applicati alle singole macchine virtuali o a una subnet contenente macchine virtuali.

Prima di tutto, è necessario creare un gruppo di sicurezza di rete:

New-AzureNetworkSecurityGroup -Name "testNSGexample" -Location "South Central US" -Label "Example network security group for an app service environment"

La limitazione dell'accesso al solo traffico interno della rete virtuale con un gruppo di sicurezza di rete è un'operazione semplice. Le regole predefinite in un gruppo di sicurezza di rete consentono l'accesso solo da altri client di rete nella stessa rete virtuale.

Di conseguenza, il blocco dell'accesso a SQL Server è semplice. Basta applicare un gruppo di sicurezza di rete con le relative regole predefinite alle macchine virtuali che eseguono SQL Server o alla subnet contenente le macchine virtuali.

L'esempio seguente mostra come applicare un gruppo di sicurezza di rete alla subnet contenente le macchine virtuali:

Get-AzureNetworkSecurityGroup -Name "testNSGExample" | Set-AzureNetworkSecurityGroupToSubnet -VirtualNetworkName 'testVNet' -SubnetName 'Subnet-1'

Il risultato finale è costituito da un set di regole di sicurezza che blocca l'accesso esterno, consentendo al contempo l'accesso interno alla rete virtuale:

Regole di sicurezza di rete predefinite

Introduzione

Per iniziare a usare gli ambienti del servizio app, vedere Introduzione all'ambiente del servizio app

Per informazioni dettagliate su come controllare il traffico in ingresso all'ambiente del servizio app, vedere Controllo del traffico in ingresso a un ambiente del servizio app

Nota

Per iniziare a usare il servizio app di Azure prima di registrarsi per ottenere un account Azure, andare a Prova il servizio app, dove è possibile creare un'app Web iniziale temporanea nel servizio app. Non è necessario fornire una carta di credito né impegnarsi in alcun modo.