Per memorizzare file, righe o messaggi il servizio più semplice, a basso e costo e altamente scalabile è Azure Storage. Per accedervi con pieno diritto di gestione possiamo usare una chiave che, in coppia alla stringa di connessione, ci permette di raggiungere l'endpoint HTTP ed operare sulle risorse. In alternativa possiamo usare le firme (SAS) da porre sugli URI e limitare nel tempo e nei diritti le operazioni che possiamo effettuare. Anche in questo caso però serve la chiave amministrativa di firma.
E' chiaro quindi che questa chiave va custodita solo su applicativi server to server e svolge un ruolo fondamentale. Per limitare i danni di un eventuale furto è prevista la possibilità di ruotare le chiavi, in pratica di disporre sempre di una nuova chiave e di invalidare quella precedente. Questa operazione da una parte richiede di cambiare la candidata nuova chiave su tutti gli applicativi che ne fanno utilizzo ed infine invalidare quella precedente.
Poiché questa operazione non è comoda, spesso si soprassiede a questa pratica, mettendo a rischio i nostri file. Per aiutarci in questa operazione, il portale mette a disposizione un promemoria che se abilitato ci mostra dopo un certo intervallo dall'ultima rotazione, un messaggio. Per sfruttare questa possibilità è sufficiente recarsi nella sezione Access keys dello storage account.

Nella finestra ci viene semplicemente chiesto ogni quanti giorni mostrare il promemoria.

Poiché un messaggio può non essere sufficiente, possiamo sfruttare il sistema di policy di Azure che ci permette di specificare delle regole che vogliamo instaurare nella nostra sottoscrizione. Per farlo dobbiamo recarci nella sezione Policy->Assignments (cercandolo tra tutti i servizi) e procedere con una nuova assegnazione.

Tra le policy disponibili troviamo la Storage accounts keys should not be expired che se abilitata permette ad Azure di controllare la situazione di tutti gli storage e riportarla nella dashboard.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Pubblicare un pacchetto di NuGet nel feed di GitHub
Utilizzare WordPress con Azure App Service
Utilizzare le Promise in Javascript - prima parte
Collegare servizi a Azure Container App con i service connector
Leggere la configurazione da Azure KeyVault con logica di retry in ASP.NET Core
Continuous Deployment tramite GitOps
Creare velocemente microservice grazie a minimal API di ASP.NET Core 6
Raggruppare i parametri di una minimal API in un singolo oggetto in ASP.NET Core
Le novità di .NET 7 e C# 11
Utilizzare il metodo reduce in JavaScript
Filtrare le chiamate HTTP ad un App Service in base al servizio Azure
Usare il throttling per limitare la frequenza degli eventi in Blazor
I più letti di oggi
- Bloccare una pull request che arriva da branch non definiti in GitHub
- Gestire condizioni complesse in JavaScript
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Proteggersi dagli attacchi di Open Redirect in ASP.NET Core MVC
- La gestione dei verbi PUT e DELETE in un servizio REST con ASP.NET MVC 2
- Migliorare la scalabilità di ASP.NET Core 7 grazie all'output cache