Gestire i segreti per Funzioni di Azure in 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 di 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 L'app per le funzioni Il chiamante (provider di webhook, servizio, sviluppatore)
Cosa protegge A cosa si connette la funzione Chi può richiamare l'endpoint HTTP
Convalidato da Il 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 ai riferimenti del Key Vault 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 containerapps 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 dipendenza AzureWebJobsStorage esistente Configurare le chiavi host
File system locale files Non consigliato per le Container Apps: vedere l'avviso N/A

Tieni a mente queste considerazioni del backend:

  • L'esecuzione non seleziona automaticamente lo spazio di archiviazione segreta delle Container App. Se non imposti AzureWebJobsSecretStorageType o imposti un valore non riconosciuto, l'host delle Funzioni usa gestione rete virtuale di Azure quando AzureWebJobsStorage è disponibile.
  • Tieni AzureWebJobsStorage configurato per controlli di stato dello storage e funzionalità dipendenti dallo storage.
  • Non impostare AzureWebJobsSecretStorageType su files. Il file system delle Container Apps è effimero, quindi le chiavi memorizzate con questo backend si perdono quando l'app scala a zero, si riavvia o distribuisce una nuova versione.

Passaggi successivi

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