Gestire i segreti per Funzioni di Azure su App contenitore di Azure

Quando si esegue Funzioni di Azure in App contenitore di Azure, si lavora con due categorie di segreti:

Categoria Description Utilizzato da
Segreti a livello di app Valori di configurazione letti dal codice della funzione in fase di esecuzione, ad esempio stringhe di connessione del database, chiavi API e credenziali di trigger/binding. Il codice e le associazioni del runtime delle Funzioni.
Chiavi di accesso di Funzioni Token di autenticazione (chiavi di accesso) che proteggono gli endpoint di funzione attivati tramite HTTP, inclusi master, host, funzione e chiavi di sistema. Chiamanti esterni delle funzioni HTTP (servizi, webhook, sviluppatori).

Queste due categorie differiscono in direzione:

Segreti a livello di app Chiavi di accesso delle funzioni
Direzione In uscita: la funzione esegue l'autenticazione ad altri servizi In ingresso: i chiamanti eseguono l'autenticazione alla funzione
Chi detiene il segreto App per le funzioni Chiamante (provider webhook, servizio, sviluppatore)
Cosa protegge A cosa si connette la funzione Chi può richiamare l'endpoint HTTP
Convalidato da Servizio di destinazione Runtime delle Funzioni

Segreti a livello di app

Le chiavi a livello di applicazione sono le credenziali di cui il codice della funzione e le associazioni hanno bisogno per connettersi ai servizi esterni. È possibile archiviarli in due modi:

Opzione Ideale per Rotazione Controllo Guida
Segreti delle App di container Sviluppo/test e carichi di lavoro semplici per singole app Manuale Solo log delle attività Archiviare segreti a livello di app
Riferimenti a Key Vault Produzione, multi-app, conformità Automatico (URI senza versione) Diagnostica completa del Key Vault Archiviare segreti a livello di app

Suggerimento

Inizia con i segreti delle applicazioni container per semplificare. Passare a Key Vault riferimenti quando è necessaria una gestione centralizzata, una rotazione automatica o un controllo di livello di conformità.

chiavi di accesso delle funzioni

Le chiavi di accesso forniscono l'autenticazione semplificata con segreto condiviso per gli endpoint HTTP. Usare chiavi di accesso quando i chiamanti non possono presentare token Microsoft Entra ID, ad esempio webhook di terze parti, chiamate da servizio a servizio o durante lo sviluppo.

Impostare la AzureWebJobsSecretStorageType variabile di ambiente per scegliere un back-end di archiviazione:

Back-end Valore dell'impostazione Ideale per Guida
Archivio segreto delle applicazioni container containerapp Maggior parte dei carichi di lavoro: nessuna dipendenza esterna (scelta consigliata) Configurare le chiavi host
Azure Key Vault keyvault Governance centralizzata, controllo della conformità Configurare le chiavi host
Archiviazione BLOB di Azure blob Applicazioni legacy o dipendenze esistenti AzureWebJobsStorage Configurare le chiavi host
File system locale files Non consigliato per le Container Apps: vedere l'avviso N/A

Avvertimento

L'host Funzioni di Azure viene impostato per impostazione predefinita su files (file system locale) quando AzureWebJobsSecretStorageType non è impostato. In App contenitore di Azure il file system è ephemeral. Le chiavi host archiviate con files vengono perse a ogni riavvio, evento di scala a zero o durante la distribuzione di revisioni. Configurare sempre uno dei tre back-end di produzione elencati qui.

Passaggi successivi

Scegliere la guida che corrisponde al tipo di segreto che è necessario gestire: