Proteggere i dati di configurazione dell'app
In questa unità si apprenderà come proteggere i dati di configurazione delle app usando:
- Chiavi gestite dal cliente
- Endpoint privati
- Identità gestite
Crittografare i dati di configurazione usando le chiavi gestite dal cliente
Configurazione app di Azure crittografa le informazioni sensibili inattive usando una chiave di crittografia AES a 256 bit fornita da Microsoft. Ogni istanza di Configurazione app ha una propria chiave di crittografia gestita dal servizio e usata per crittografare le informazioni sensibili. Le informazioni sensibili includono i valori presenti nelle coppie chiave-valore. Quando la funzionalità di chiave gestita dal cliente è abilitata, Configurazione app usa un'identità gestita assegnata all'istanza Configurazione app per eseguire l'autenticazione con Microsoft Entra ID. L'identità gestita chiama quindi Azure Key Vault ed esegue il wrapping della chiave di crittografia dell'istanza di Configurazione app. La chiave di crittografia di cui è stato eseguito il wrapping viene quindi archiviata e la chiave di crittografia non sottoposta a wrapping viene memorizzata nella cache all'interno di Configurazione app per un'ora. Configurazione app aggiorna ogni ora la versione non sottoposta a wrapping della chiave di crittografia dell'istanza di Configurazione app. Ciò garantisce la disponibilità in condizioni operative normali.
Abilitare la funzionalità di chiave gestita dal cliente
I componenti seguenti sono necessari per abilitare la funzionalità di chiave gestita dal cliente per Configurazione app di Azure:
- Istanza di Configurazione app di Azure di livello Standard
- Azure Key Vault con le funzionalità di protezione da eliminazione temporanea e definitiva abilitate
- Chiave RSA o RSA-HSM all'interno di Key Vault: la chiave non deve essere scaduta, deve essere abilitata e deve avere entrambe le funzionalità di wrapping e di annullamento del wrapping abilitate
Dopo aver configurato queste risorse, rimangono due passaggi per consentire a Configurazione app di Azure di usare la chiave di Key Vault:
- Assegnare un'identità gestita all'istanza di Configurazione app di Azure
- Concedere le autorizzazioni
GET,WRAPeUNWRAPdi identità nel criterio di accesso di Key Vault di destinazione.
Usare gli endpoint privati per Configurazione app di Azure
È possibile usare endpoint privati per fare in modo che Configurazione app di Azure consenta ai client in una rete virtuale di accedere in modo sicuro ai dati su un collegamento privato. L'endpoint privato usa un indirizzo IP dallo spazio indirizzi della rete virtuale per l'archivio di Configurazione app. Il traffico di rete tra i client nella rete virtuale e l'archivio di Configurazione app passa attraverso la rete virtuale usando un collegamento privato sulla rete backbone di Microsoft, eliminando l'esposizione alla rete Internet pubblica.
L'uso di endpoint privati per l'archivio di Configurazione app consente di:
- Proteggere i dettagli di configurazione dell'applicazione configurando il firewall per bloccare tutte le connessioni a Configurazione app nell'endpoint pubblico.
- Aumentare la sicurezza per la rete virtuale assicurando che i dati non escano.
- Connettersi in modo sicuro all'archivio di Configurazione app da reti locali che si connettono alla rete virtuale usando una rete VPN o ExpressRoute con peering privato.
Identità gestite
Un'identità gestita da Microsoft Entra ID consente a Configurazione app di Azure di accedere facilmente ad altre risorse protette con Microsoft Entra ID, ad esempio Azure Key Vault. L'identità viene gestita dalla piattaforma Azure. Non è necessario effettuare il provisioning di alcun segreto né ruotarlo.
All'applicazione possono essere concessi due tipi di identità:
- Un'identità assegnata dal sistema è associata all'archivio di configurazione. Viene eliminata se viene eliminato l'archivio di configurazione. A un archivio di configurazione può essere associata una sola identità gestita assegnata dal sistema.
- Un'identità assegnata dall'utente è una risorsa di Azure autonoma che può essere assegnata all'archivio di configurazione. Un archivio di configurazione può avere più identità assegnate dall'utente.
Aggiungere un'identità assegnata dal sistema
Per configurare un'identità gestita usando l'interfaccia della riga di comando di Azure, usare il comando az appconfig identity assign su un archivio di configurazione esistente. L'esempio seguente dell'interfaccia della riga di comando di Azure crea un'identità assegnata dal sistema per un archivio di Configurazione app di Azure denominato myTestAppConfigStore.
az appconfig identity assign \
--name myTestAppConfigStore \
--resource-group myResourceGroup
Aggiungere un'identità assegnata dall'utente
La creazione di un archivio di Configurazione app con un'identità assegnata dall'utente richiede la creazione dell'identità e quindi l'assegnazione dell'identificatore di risorsa corrispondente all'archivio. Gli esempi seguenti dell'interfaccia della riga di comando di Azure creano un'identità assegnata dall'utente denominata myUserAssignedIdentity e la assegnano a un archivio di Configurazione app di Azure denominato myTestAppConfigStore.
Creare un'identità usando il comando az identity create:
az identity create --resource-group myResourceGroup --name myUserAssignedIdentity
Assegnare la nuova identità assegnata dall'utente all'archivio di configurazione myTestAppConfigStore:
az appconfig identity assign --name myTestAppConfigStore \
--resource-group myResourceGroup \
--identities /subscriptions/[subscription id]/resourcegroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myUserAssignedIdentity