Nell'articolo dedicato a Managed identities per Microsoft Azure, che troviamo qua http://www.windowsazureitalia.com/articoli/microsoft-azure/credenziali-sicure-managed-identities-azure.aspx, abbiamo visto come sfruttare le identità delle Web App, Function o VM per poter accedere alle risorse Azure tramite token e senza dare una visibilità diretta di chiavi, secret o certificati.
Per custodire e centralizzare queste informazioni, Azure KeyVault è il posto più sicuro, ma purtroppo richiedere un intervento sul nostro codice e questo non è sempre possibile. Per minimizzare il più possibile l'impatto e agevolare l'utilizzo di MSI, di recente è stata aggiunta la possibilità di collegare un App Settings di una Web App o di una Function direttamente al KeyVault, senza intervenire nel nostro codice.
Ponendo di avere creato il KeyVault, creata l'identità della Web App e dato i permessi di lettura alle chiavi, è sufficiente aprire il secret al quale vogliamo avere accesso e copiare l'intero indirizzo, come mostrato nella figura.

Fatto questo apriamo gli App Settings del nostro applicativo e individuaiamo l'impostazione di nostro interesse. Invece di inserire direttamente il valore, digitiamo l'espressione @Microsoft.KeyVault(SecretUri=indirizzo), dove l'indirizzo è l'identificativo copiato in precedenza.

Salvate le impostazioni, il nostro applicativo disporrà del valore di MyKey come App Settings se ci troviamo in un applicativo .NET, oppure come variabile d'ambiente omonima se ci troviamo in una delle piattaforme alternative, il tutto senza dover intervenire sul nostro codice.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Gestire i dati con Azure Cosmos DB Data Explorer
Usare le navigation property in QuickGrid di Blazor
Combinare Container Queries e Media Queries
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Utilizzare Container Queries nominali
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Simulare Azure Cosmos DB in locale con Docker
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Estrarre dati randomici da una lista di oggetti in C#
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps