Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
I segreti a livello di app sono valori di configurazione usati dal codice della funzione e dai binding in fase di esecuzione. A differenza delle chiavi di accesso di Funzioni, che proteggono gli endpoint HTTP, i segreti a livello di app sono le credenziali necessarie per connettersi ad altri servizi.
Esempi comuni prevedono:
-
Connessioni dell'infrastruttura -
AzureWebJobsStoragestringhe di connessione, connessioni di trigger e binding per Event Hubs, bus di servizio, Cosmos DB e SQL. - Credenziali aziendali : chiavi API di terze parti, password del database, token della piattaforma SaaS.
- Configurazione personalizzata : qualsiasi valore sensibile letto dal codice dalle variabili di ambiente.
Scegliere un'opzione di archiviazione
App contenitore di Azure offre due modi per archiviare i segreti a livello di app:
| Opzione | Ideale per | Gestione centralizzata | Rotazione automatica | Registrazione della verifica |
|---|---|---|---|---|
| Segreti delle App di container | Sviluppo/test e carichi di lavoro semplici per singole app | No - limitato a una sola app | No | Solo log delle attività |
| Riferimenti a Key Vault | Produzione, multi-app, conformità | Sì- in tutte le app | Sì (URI senza versione) | Diagnostica completa del Key Vault |
Tip
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à.
Prerequisiti
- Un account Azure con una sottoscrizione attiva. Creare un account gratuito.
- interfaccia della riga di comando di Azure versione 2.40.0 o successiva.
- Un'app Funzioni di Azure esistente in Container Apps o autorizzazioni per crearne una.
Usare i segreti delle app contenitore
Le App container archivia i segreti nella matrice dell'app configuration.secrets e crittografa i valori a riposo. È possibile fare riferimento ai segreti in variabili di ambiente, regole di scalabilità, montaggi di volumi e componenti Dapr.
Archiviare un segreto
Vai all'app di contenitori Function nel portale Azure.
In Impostazioni selezionare Segreti.
Selezionare Aggiungi e immettere i valori seguenti:
Proprietà Valore Nome Un nome segreto come database-password. Usare solo lettere minuscole, numeri e trattini.Type Segreto App container Valore Il tuo valore segreto Seleziona Aggiungi.
Fare riferimento al segreto in una variabile di ambiente
Dopo aver archiviato un segreto, farvi riferimento in una variabile di ambiente in modo che il codice della funzione possa leggerlo.
Nell'app contenitore funzioni, in Applicazione selezionare Revisioni e repliche.
Selezionare Crea nuova revisione.
Nella scheda Contenitore selezionare il contenitore e quindi selezionare Modifica.
Selezionare la scheda Variabili di ambiente e quindi selezionare Aggiungi.
Immettere i valori seguenti:
Proprietà Valore Nome DATABASE_PASSWORDFonte Fare riferimento a un segreto Valore database-passwordSelezionare Salva e quindi Crea per distribuire la nuova revisione.
Verificare il segreto
Verificare che la funzione possa leggere il valore del segreto richiamando la funzione e verificando che venga eseguita senza errori correlati alla configurazione mancante.
curl "https://<FUNCTIONS_APP_URL>/api/<FUNCTION_NAME>"
Importante
App Contenitore inserisce il valore del segreto nella variabile di ambiente in fase di esecuzione. Il codice legge la variabile di ambiente e non accede direttamente all'archivio segreto.
Limitations
I segreti delle app contenitore presentano le limitazioni seguenti:
- Nessuna centralizzazione : ogni app contenitore archivia i propri segreti separatamente.
- Nessuna rotazione automatica : è necessario aggiornare manualmente i valori dei segreti.
- Nessuna scadenza : i segreti non scadono automaticamente.
- Controllo limitato - solo log attività di base; nessun controllo dettagliato dell'accesso segreto.
- Nessun controllo delle versioni : nessuna cronologia delle versioni dei segreti predefinita.
- Comportamento di aggiornamento : la modifica di un segreto non attiva una nuova revisione. È necessario creare una nuova revisione o riavviare le revisioni esistenti per selezionare le modifiche.
Usare i riferimenti di Key Vault
I riferimenti di Key Vault permettono alla tua app contenitore di recuperare i segreti direttamente da Azure Key Vault utilizzando un'identità gestita. Questo approccio offre la gestione centralizzata, la rotazione automatica e il controllo di livello di conformità.
Passaggio 1: Configurare l'identità gestita
L'app contenitore necessita di un'identità gestita per l'autenticazione per Key Vault senza credenziali.
Vai all'app di contenitori Function nel portale Azure.
In Impostazioni selezionare Identità.
Nella scheda Assegnata dal sistema impostare Stato su Sì.
Selezionare Salva e quindi Sì per confermare.
Passaggio 2: Concedere l'accesso Key Vault
Assegnare il ruolo Key Vault Secrets User all'identità gestita in modo che possa leggere i segreti.
Vai al Key Vault nel portale Azure.
In Impostazioni, selezionare Controllo di accesso (IAM).
Seleziona Aggiungi>Aggiungi assegnazione ruolo.
Nella scheda Role selezionare Utente segreti di Key Vault.
Seleziona Avanti.
Nella scheda Membri selezionare Identità gestita e quindi Seleziona membri.
Nel riquadro Seleziona identità gestite selezionare la sottoscrizione, scegliere App di contenitore per il tipo di identità gestita, selezionare l'app di contenitore di Funzioni e quindi selezionare Seleziona.
Seleziona Rivedi + assegna.
Passaggio 3: Archiviare un segreto in Key Vault
Nel Key Vault, in Objects selezionare Secrets.
Seleziona Genera/Importa.
Immettere i valori seguenti:
Proprietà Valore Opzioni di caricamento Manuale Nome Un nome segreto, ad esempio DatabasePassword.Valore Il tuo valore segreto Fare clic su Crea.
Selezionare il segreto appena creato e quindi selezionare la versione corrente.
Copia l'URI dell'identificatore segreto. Usare l'URI senza versione (senza il segmento di versione finale) per abilitare la rotazione automatica.
Passaggio 4: Fare riferimento al segreto di Key Vault in Container Apps
Creare un segreto di App contenitore che faccia riferimento al segreto Key Vault, quindi associarlo a una variabile di ambiente.
Vai alla tua applicazione contenitore delle funzioni. In Impostazioni selezionare Segreti.
Seleziona Aggiungi.
In Aggiungi segreto immettere i valori seguenti:
Proprietà Valore Nome database-passwordType Riferimento a Key Vault URL del segreto di Key Vault L'URI dell'identificatore segreto che hai copiato. Identità Identità assegnata dal sistema (o identità assegnata dall'utente). Seleziona Aggiungi.
In Applicazione selezionare Revisioni e repliche. Creare una nuova revisione con la variabile
DATABASE_PASSWORDdi ambiente che fa riferimento aldatabase-passwordsegreto.
Passaggio 5: Verificare il riferimento Key Vault
Richiamare la funzione e confermarne l'esecuzione senza errori correlati alla configurazione mancante.
curl "https://<FUNCTIONS_APP_URL>/api/<FUNCTION_NAME>"
Rotazione automatica dei segreti
Quando si fa riferimento a un segreto Key Vault con un URI senza versione, Container Apps recupera automaticamente la versione più recente:
-
URI senza versione:
https://myvault.vault.azure.net/secrets/mysecret- usa sempre la versione più recente. -
URI con versione:
https://myvault.vault.azure.net/secrets/mysecret/ec96f020...- aggiunto a una versione specifica.
Con gli URI senza versione, Container Apps verifica la disponibilità di nuove versioni entro 30 minuti e riavvia automaticamente le revisioni attive per acquisire il nuovo valore.