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
Load test di ASP.NET Core con k6
Usare una container image come runner di GitHub Actions
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Generare file PDF da Blazor WebAssembly con iText
Effettuare update massivi con Entity Framework Core 7
Definire lo stile CSS in base alle dimensioni del container
Utilizzare Model as a Service su Microsoft Azure
Short-circuiting della Pipeline in ASP.NET Core
Eseguire attività con Azure Container Jobs
Gestire domini wildcard in Azure Container Apps
Usare ASP.NET Core dev tunnels per testare le applicazioni su internet
C# 12: Cosa c'è di nuovo e interessante