Gestire i segreti nelle App contenitore di Azure

Le App contenitore di Azure consentono all'applicazione di archiviare in modo sicuro i valori di configurazione sensibili. Dopo aver definito i segreti a livello di applicazione, i valori protetti sono disponibili per le revisioni nelle app contenitore. Inoltre, è possibile fare riferimento a valori protetti all'interno delle regole di scalabilità. Per informazioni sull'uso dei segreti con Dapr, vedere Integrazione di Dapr.

  • L'ambito dei segreti è un'applicazione, all'esterno di una revisione specifica di un'applicazione.
  • L'aggiunta, la rimozione o la modifica dei segreti non genera nuove revisioni.
  • Ogni revisione dell'applicazione può fare riferimento a uno o più segreti.
  • Più revisioni possono fare riferimento agli stessi segreti.

Un segreto aggiornato o eliminato non influisce automaticamente sulle revisioni esistenti nella tua app. Quando un segreto viene aggiornato o eliminato, è possibile rispondere alle modifiche in uno dei due modi seguenti:

  1. Distribuire una nuova revisione.
  2. Riavviare una revisione esistente.

Prima di eliminare un segreto, distribuire una nuova revisione che non fa più riferimento al segreto precedente. Disattivare quindi tutte le revisioni che fanno riferimento al segreto.

Definizione dei segreti

I segreti vengono definiti come un set di coppie nome/valore. Il valore di ogni segreto viene specificato direttamente o come riferimento a un segreto archiviato in Azure Key Vault.

Archiviare il valore del segreto in App contenitore

Quando si definiscono segreti tramite il portale o tramite diverse opzioni della riga di comando.

  1. Passare all'app contenitore nel portale di Azure.

  2. Nella sezione Impostazioni selezionare Segreti.

  3. Seleziona Aggiungi.

  4. Nel riquadro Aggiungi contesto segreto immettere le informazioni seguenti:

    • Nome: nome del segreto.
    • Tipo: selezionare Segreto app contenitore.
    • Valore: valore del segreto.
  5. Seleziona Aggiungi.

Segreto di riferimento da Key Vault

Quando si definisce un segreto, si crea un riferimento a un segreto archiviato in Azure Key Vault. App contenitore recupera automaticamente il valore del segreto da Key Vault e lo rende disponibile come segreto nell'app contenitore.

Per fare riferimento a un segreto da Key Vault, è prima necessario abilitare l'identità gestita nell'app contenitore e concedere all'identità l'accesso ai segreti di Key Vault.

Per abilitare l'identità gestita nell'app contenitore, vedere Identità gestite.

Per concedere l'accesso ai segreti di Key Vault, creare un criterio di accesso in Key Vault per l'identità gestita creata. Abilitare l'autorizzazione per il segreto "Get" in questi criteri.

  1. Passare all'app contenitore nel portale di Azure.

  2. Nella sezione Impostazioni selezionare Identità.

  3. Nella scheda Assegnata dal sistema selezionare .

  4. Selezionare Salva per abilitare l'identità gestita assegnata dal sistema.

  5. Nella sezione Impostazioni selezionare Segreti.

  6. Seleziona Aggiungi.

  7. Nel riquadro Aggiungi contesto segreto immettere le informazioni seguenti:

    • Nome: nome del segreto.
    • Tipo: selezionare Informazioni di riferimento su Key Vault.
    • URL del segreto dell'insieme di credenziali delle chiavi: URI del segreto in Key Vault.
    • Identità: identità da usare per recuperare il segreto da Key Vault.
  8. Seleziona Aggiungi.

Nota

Se si usa la route definita dall'utente con Firewall di Azure, sarà necessario aggiungere il tag del AzureKeyVault servizio e il nome di dominio completo login.microsoft.com all'elenco elementi consentiti per il firewall. Fare riferimento alla configurazione della route definita dall'utente con Firewall di Azure per decidere quali tag di servizio aggiuntivi sono necessari.

URI segreto e rotazione dei segreti di Key Vault

L'URI del segreto dell'insieme di credenziali delle chiavi deve essere in uno dei formati seguenti:

  • https://myvault.vault.azure.net/secrets/mysecret/ec96f02080254f109c51a1f14cdb1931: fare riferimento a una versione specifica di un segreto.
  • https://myvault.vault.azure.net/secrets/mysecret: fare riferimento alla versione più recente di un segreto.

Se nell'URI non è specificata una versione, l'app usa la versione più recente presente nell'insieme di credenziali delle chiavi. Quando le versioni più recenti diventano disponibili, l'app recupera automaticamente la versione più recente entro 30 minuti. Tutte le revisioni attive che fanno riferimento al segreto in una variabile di ambiente vengono riavviate automaticamente per recuperare il nuovo valore.

Per il controllo completo della versione di un segreto, specificare la versione nell'URI.

Riferimento ai segreti nelle variabili di ambiente

Dopo aver dichiarato segreti a livello di applicazione come descritto nella sezione definizione dei segreti , è possibile farvi riferimento nelle variabili di ambiente quando si crea una nuova revisione nell'app contenitore. Quando una variabile di ambiente fa riferimento a un segreto, il suo valore viene popolato con il valore definito nel segreto.

Esempio

L'esempio seguente mostra un'applicazione che dichiara una stringa di connessione a livello di applicazione. A questa connessione viene fatto riferimento in una variabile di ambiente contenitore e in una regola di scalabilità.

Dopo aver definito un segreto nell'app contenitore, è possibile farvi riferimento in una variabile di ambiente quando si crea una nuova revisione.

  1. Passare all'app contenitore nel portale di Azure.

  2. Aprire la pagina Gestione revisioni.

  3. Selezionare Crea nuova revisione.

  4. Nella pagina Crea e distribuisci nuova revisione selezionare un contenitore.

  5. Nella sezione Variabili di ambiente selezionare Aggiungi.

  6. Immettere le informazioni seguenti:

    • Nome: nome della variabile di ambiente.
    • Origine: selezionare Riferimenti a un segreto.
    • Valore: selezionare il segreto a cui si desidera fare riferimento.
  7. Seleziona Salva.

  8. Selezionare Crea per creare la nuova revisione.

Montaggio di segreti in un volume

Dopo aver dichiarato segreti a livello di applicazione come descritto nella sezione definizione dei segreti , è possibile farvi riferimento nei montaggi di volumi quando si crea una nuova revisione nell'app contenitore. Quando si montano segreti in un volume, ogni segreto viene montato come file nel volume. Il nome del file è il nome del segreto e il contenuto del file è il valore del segreto. È possibile caricare tutti i segreti in un montaggio del volume oppure caricare segreti specifici.

Esempio

Dopo aver definito un segreto nell'app contenitore, è possibile farvi riferimento in un montaggio del volume quando si crea una nuova revisione.

  1. Passare all'app contenitore nel portale di Azure.

  2. Aprire la pagina Gestione revisioni.

  3. Selezionare Crea nuova revisione.

  4. Nella pagina Crea e distribuisci nuova revisione .

  5. Selezionare un contenitore e selezionare Modifica.

  6. Nella sezione Montaggi di volumi espandere la sezione Segreti.

  7. Selezionare Crea nuovo volume.

  8. Immettere le informazioni seguenti:

    • Nome: mysecrets
    • Montare tutti i segreti: abilitato

    Nota

    Se si desidera caricare segreti specifici, disabilitare Montare tutti i segreti e selezionare i segreti da caricare.

  9. Seleziona Aggiungi.

  10. In Nome volume selezionare mysecrets.

  11. In Percorso di montaggio immettere /mnt/secrets.

  12. Seleziona Salva.

  13. Selezionare Crea per creare la nuova revisione con il montaggio del volume.

Passaggi successivi