Vai al contenuto

Accedere ad Azure Key Vault da Python

Scopri come migliorare la sicurezza delle tue app Python integrando Azure Key Vault per la gestione dei segreti senza salvare credenziali nel codice.

L’integrazione di Azure Key Vault nelle applicazioni Python rappresenta un passo fondamentale per garantire una maggiore sicurezza nella gestione di segreti, chiavi e certificati. Utilizzare l’identità gestita (Managed Identity) per l’accesso da Azure App Services consente di evitare la memorizzazione delle credenziali all’interno dei file di configurazione o del codice stesso, rappresentando così una pratica raccomandata per proteggere le proprie risorse cloud.

Come interagire con Azure Key Vault tramite Python

Per iniziare è necessario configurare un App Service Python su Azure, selezionando un ambiente di runtime compatibile con il linguaggio Python. La prossima mossa sarà quella di attivare l’identità gestita (Managed Identity) direttamente dal portale Azure, il che creerà automaticamente un’identità legata all’App Service all’interno di Azure AD senza la necessità di gestire manualmente le credenziali.

Un ulteriore passaggio implica l’assegnazione dei diritti di accesso al Key Vault alla Managed Identity. Per far ciò, all’interno delle impostazioni del Key Vault, occorre aggiungere una nuova politica di accesso selezionando l’identità gestita dell’App Service e attribuendole i permessi necessari, como ad esempio ottenere, elencare o impostare segreti.

Per consentire la comunicazione con il Key Vault, bisogna installare i pacchetti azure-keyvault-secrets e azure-identity. Questi pacchetti possono essere facilmente inclusi nel file requirements.txt del progetto Python.

La parte programmazione consisterà nello scrivere il codice Python che permetta di autenticarsi con Azure Key Vault attraverso la Managed Identity e di recuperare i segreti o i certificati desiderati. Il codice utilizzerà la classe DefaultAzureCredential, che sfrutta automaticamente l’identità gestita quando l’applicazione è eseguita su Azure.

Una volta implementato il codice, il passo finale sarà il deploy dell’applicazione sull’App Service Azure e la verifica che la lettura dei segreti tramite l’identità assegnata avvenga senza intoppi.

Il flusso di lavoro

  • L’App Service esegue una richiesta a Azure Key Vault utilizzando il token dell’identità gestita.
  • Azure Key Vault verifica il token e i permessi dell’identità gestita.
  • Se l’identità gestita possiede i permessi appropriati, la richiesta viene autorizzata e il segreto viene recuperato.

Attraverso questa procedura, l’accesso a Azure Key Vault tramite App Service Python con identità gestita non solo facilita il processo di autenticazione, ma rafforza anche significativamente la sicurezza dell’applicazione eliminando la necessità di gestire le credenziali.

Se hai domande o curiosità, non esitare a cercare maggiori dettagli su approfondimenti tutorial.