Azure · Key Vault · Sicurezza
Proteggere segreti e credenziali API con Azure Key Vault
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
| Elemento | Uso tipico |
|---|---|
| Secret | Client secret, refresh token, chiavi API |
| Key | Chiavi crittografiche per firma/cifratura |
| Certificate | Certificati 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).