Come usare un account di archiviazione protetto con Funzioni di Azure
Questo articolo illustra come connettere l'app per le funzioni a un account di archiviazione protetto. Per un'esercitazione approfondita su come creare l'app per le funzioni con restrizioni di accesso in ingresso e in uscita, vedere l'esercitazione Eseguire l'integrazione con una rete virtuale. Per altre informazioni su Funzioni di Azure e sulla rete, vedere Opzioni di rete di Funzioni di Azure.
Limitare l'account di archiviazione a una rete virtuale
Quando si crea un'app per le funzioni, si crea un nuovo account di archiviazione o si collega a un account esistente. Attualmente, solo il portale di Azure, distribuzioni di modelli ARM, e distribuzioni Bicep supportano la creazione di app per le funzioni con un account di archiviazione protetto esistente.
Nota
Gli account di archiviazione protetti sono supportati per tutti i livelli del piano Dedicato (servizio app) e per il piano Elastic Premium. Sono supportati anche dal piano A consumo Flex. Il piano a consumo non supporta le reti virtuali.
Per un elenco di tutte le restrizioni relative agli account di archiviazione, vedere Requisiti dell'account di archiviazione.
Importante
Il piano a consumo Flex è attualmente in anteprima.
Archiviazione sicura durante la creazione dell'app per le funzioni
È possibile creare un'app per le funzioni insieme a un nuovo account di archiviazione protetto dietro una rete virtuale. Le sezioni seguenti illustrano come creare queste risorse usando il portale di Azure o usando i modelli di distribuzione.
Completare i passaggi descritti in Creare un'app per le funzioni in un piano Premium. Questa sezione dell'esercitazione sulla rete virtuale illustra come creare un'app per le funzioni che si connette all'archiviazione tramite endpoint privati.
Nota
Quando si crea l'app per le funzioni nel portale di Azure, è anche possibile scegliere un account di archiviazione protetto esistente nella scheda Archiviazione. Tuttavia, è necessario configurare la rete appropriata nell'app per le funzioni in modo che possa connettersi tramite la rete virtuale usata per proteggere l'account di archiviazione. Se non si dispone delle autorizzazioni per configurare la rete o se la rete non è stata completamente preparata, selezionare Configura rete dopo la creazione nella scheda Rete. È possibile configurare la rete per la nuova app per le funzioni nel portale in Impostazioni>Rete.
Archiviazione sicura per un'app per le funzioni esistente
Quando si dispone di un'app per le funzioni esistente, è possibile configurare direttamente la rete nell'account di archiviazione usato dall'app. Tuttavia, questo processo causa un arresto dell'app per le funzioni durante la configurazione della rete e durante il riavvio dell'app per le funzioni.
Per ridurre al minimo i tempi di inattività, è invece possibile scambiare un account di archiviazione esistente per un nuovo account di archiviazione protetto.
1. Abilitare l'integrazione della rete virtuale
Come prerequisito, è necessario abilitare l'integrazione della rete virtuale per l'app per le funzioni:
Scegliere un'app per le funzioni con un account di archiviazione che non dispone di endpoint di servizio o endpoint privati abilitati.
Abilitare l'integrazione della rete virtuale per l'app per le funzioni.
2. Creare un account di archiviazione protetto
Configurare un account di archiviazione protetto per l'app per le funzioni:
Creare un secondo account di archiviazione. Questo account di archiviazione è l'account di archiviazione protetto per l'app per le funzioni da usare al posto dell'account di archiviazione non protetto originale. È anche possibile usare un account di archiviazione esistente non già usato da Funzioni.
Salvare la stringa di connessione per questo account di archiviazione da usare successivamente.
Creare una condivisione file nel nuovo account di archiviazione. Per praticità, è possibile usare lo stesso nome di condivisione file dall'account di archiviazione originale. In caso contrario, se si usa un nuovo nome di condivisione file, è necessario aggiornare l'impostazione dell'app.
Proteggere il nuovo account di archiviazione in uno dei modi seguenti:
Creare un endpoint privato. Quando si configura la connessione endpoint privato, creare gli endpoint privati per le sottorisorse
file
eblob
. Per Durable Functions, è necessario rendere accessibili le sottorisorsequeue
etable
anche tramite endpoint privati. Se si usa un server DNS (Domain Name System) personalizzato o locale, configurare il server DNS per risolvere i nuovi endpoint privati.Limitare il traffico a subnet specifiche. Assicurarsi che l'app per le funzioni sia integrata in rete con una subnet consentita e che la subnet disponga di un endpoint servizio per
Microsoft.Storage
.
Copiare il contenuto di file e BLOB dall'account di archiviazione corrente usato dall'app per le funzioni nell'account di archiviazione e nella condivisione file appena protetta. AzCopy e Azure Storage Explorer sono metodi comuni. Se si usa Azure Storage Explorer, potrebbe essere necessario consentire all'indirizzo IP client di accedere al firewall dell'account di archiviazione.
A questo momento è possibile configurare l'app per le funzioni per comunicare con l'account di archiviazione appena protetto.
3. Abilitare il routing dell'applicazione e della configurazione
Nota
Questi passaggi di configurazione sono necessari solo per i piani di hosting Elastic Premium e Dedicato (Servizio app). Il piano a consumo flessibile non richiede impostazioni del sito per configurare la rete.
È ora possibile instradare il traffico dell'app per le funzioni attraverso la rete virtuale:
Abilitare l'instradamento dell'applicazione per instradare il traffico dell'app alla rete virtuale:
Nell'app per le funzioni espandere Impostazioni e quindi selezionare Rete. Nella pagina Rete, in Configurazione del traffico in uscita, selezionare la subnet associata all'integrazione della rete virtuale.
Nella nuova pagina, in Instradamento dell'applicazione selezionare Traffico Internet in uscita.
Abilitare il routing della condivisione contenuto per consentire all'app per le funzioni di comunicare con il nuovo account di archiviazione tramite la relativa rete virtuale. Nella stessa pagina del passaggio precedente, in Routing della configurazione selezionare Archiviazione contenuto.
Nota
È necessario prestare particolare attenzione quando si esegue il routing alla condivisione dei contenuti in un account di archiviazione condiviso da più app per le funzioni nello stesso piano. Per altre informazioni, vedere Routing coerente tramite reti virtuali nell'articolo Considerazioni sull'archiviazione.
4. Aggiornare le impostazioni dell'applicazione
Infine, è necessario aggiornare le impostazioni dell'applicazione in modo che puntino al nuovo account di archiviazione protetto:
Nell'app per le funzioni, espandere Impostazionie selezionare Variabili di ambiente.
Nella scheda Impostazioni dell'app aggiornare le impostazioni seguenti selezionando ogni impostazione, modificandola e quindi selezionando Applica:
Nome impostazione Valore Commento AzureWebJobsStorage
Stringa di connessione di archiviazione Usare la stringa di connessione per il nuovo account di archiviazione protetto salvato in precedenza. WEBSITE_CONTENTAZUREFILECONNECTIONSTRING
Stringa di connessione di archiviazione Usare la stringa di connessione per il nuovo account di archiviazione protetto salvato in precedenza. WEBSITE_CONTENTSHARE
Condivisione file Usare il nome della condivisione file creata nell'account di archiviazione protetto in cui risiedono i file di distribuzione del progetto. Selezionare Applica e quindi Conferma per salvare le nuove impostazioni dell'applicazione nell'app per le funzioni.
L'app per le funzioni viene riavviata.
Al termine del riavvio, l'app per le funzioni si connette all'account di archiviazione protetto.