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
Creare agenti facilmente con Azure AI Agent Service
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Effettuare il refresh dei dati di una QuickGrid di Blazor
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Proteggere le risorse Azure con private link e private endpoints
Generare una User Delegation SAS in .NET per Azure Blob Storage
Migliorare l'organizzazione delle risorse con Azure Policy
Ottimizzare le performance usando Span<T> e il metodo Split
Introduzione alle Container Queries
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Generare velocemente pagine CRUD in Blazor con QuickGrid