IVAN CAPPONI.NET/C# · Microsoft Azure

Azure · Key Vault · Sicurezza

Proteggere segreti e credenziali API con Azure Key Vault

Ultimo aggiornamento: giugno 20268 min di letturaIntermedio

Gestione sicura di chiavi e token API con Azure Key Vault e Managed Identity
Centralizzare, ruotare e accedere ai segreti senza credenziali nel codice.

Le integrazioni marketplace vivono di credenziali: client secret OAuth, refresh token, chiavi API. Conservarle nel codice o nei file di configurazione è un rischio concreto. Azure Key Vault, insieme alla Managed Identity, permette di gestirle in modo sicuro e automatizzato.

Il problema dei segreti sparsi

Segreti hardcodati o in variabili d'ambiente non gestite portano a fughe accidentali (es. in repository o log), rotazioni manuali e dimenticate, e nessuna tracciabilità di chi accede a cosa. Centralizzarli è il primo passo verso la sicurezza.

Key Vault in breve

ElementoUso tipico
SecretClient secret, refresh token, chiavi API
KeyChiavi crittografiche per firma/cifratura
CertificateCertificati TLS o per autenticazione

Managed Identity: niente credenziali per accedere alle credenziali

Il paradosso classico è: per leggere i segreti, serve un segreto. La Managed Identity lo risolve: la Function o il container ottengono un'identità gestita da Azure, e a quell'identità si concede l'accesso a Key Vault. Nessuna credenziale viene salvata da nessuna parte: l'autenticazione avviene tramite la piattaforma.

Rotazione dei segreti

I segreti vanno cambiati periodicamente. Con Key Vault la rotazione è gestibile senza ridistribuire l'applicazione: si aggiorna il valore nel vault e l'app lo rilegge. Conviene tenere conto di:

  • versionamento dei secret (Key Vault mantiene le versioni);
  • caching lato app con scadenza, per non interrogare il vault a ogni chiamata;
  • finestra di sovrapposizione durante la rotazione, per non interrompere le operazioni in corso.

Il caso dei token OAuth

Gli access token dei marketplace scadono; i refresh token vanno protetti. Un pattern robusto: conservare il refresh token in Key Vault, ottenere e cachare l'access token in memoria fino a poco prima della scadenza, e rinnovarlo in modo concorrente-sicuro (un solo refresh alla volta) per evitare richieste duplicate quando più worker scoprono insieme che il token è scaduto.

Principio del minimo privilegio

Ogni applicazione dovrebbe accedere solo ai segreti che le servono. Con le policy di accesso o RBAC di Key Vault si concedono permessi mirati (sola lettura sui secret necessari), riducendo la superficie di rischio.

Errori comuni

  • segreti nel codice o nel repository;
  • una credenziale per accedere alle credenziali, invece della Managed Identity;
  • nessuna rotazione, o rotazione che interrompe il servizio;
  • refresh token rinnovati in parallelo senza coordinamento.

Conclusione

Azure Key Vault con Managed Identity elimina i segreti dal codice, abilita la rotazione sicura e applica il minimo privilegio. Per le integrazioni marketplace, dove i token sono il cuore dell'autenticazione, è una base di sicurezza non negoziabile. Riferimento: Azure Key Vault (Microsoft Learn).