Autenticazione in Azure Key Vault

L'autenticazione con Key Vault funziona in combinazione con Microsoft Entra ID, che è responsabile dell'autenticazione dell'identità di una determinata entità di sicurezza.

Un'entità di sicurezza è un oggetto che rappresenta un utente, un gruppo, un servizio o un'applicazione che richiede l'accesso alle risorse di Azure. Azure assegna un ID oggetto univoco a ogni entità di sicurezza.

  • L'entità di sicurezza di un utente identifica un soggetto che ha un profilo in Microsoft Entra ID.

  • L'entità di sicurezza di un gruppo identifica un set di utenti creati in Microsoft Entra ID. Tutti i ruoli o le autorizzazioni assegnati al gruppo vengono concessi a tutti gli utenti all'interno del gruppo.

  • Un'entità servizio è un tipo di entità di sicurezza che identifica un'applicazione o un servizio, ovvero una porzione di codice anziché un utente o un gruppo. L'ID oggetto di un'entità servizio funge da nome utente; il segreto client dell'entità servizio funge da password.

Per le applicazioni esistono due modi per ottenere un'entità servizio:

  • Consigliato: abilitare un'identità gestita assegnata dal sistema per l'applicazione.

    Con l'identità gestita, Azure gestisce internamente l'entità servizio dell'applicazione e autentica automaticamente l'applicazione per altri servizi di Azure. L'identità gestita è disponibile per le applicazioni distribuite in un'ampia gamma di servizi.

    Per altre informazioni, vedere Panoramica delle identità gestite. Vedere anche l'articolo Servizi di Azure che supportano l'identità gestita, che contiene collegamenti ad articoli che descrivono come abilitare l'identità gestita per servizi specifici, ad esempio Servizio app, Funzioni di Azure, Macchine virtuali e così via.

  • Se non è possibile usare l'identità gestita, è invece possibile registrare l'applicazione nel tenant di Microsoft Entra, come descritto in Avvio rapido: registrare un'applicazione con la piattaforma delle identità di Azure. La registrazione crea anche un secondo oggetto applicazione che identifica l'app in tutti i tenant.

Configurare il firewall di Key Vault

Per impostazione predefinita, Key Vault consente l'accesso alle risorse tramite indirizzi IP pubblici. Per maggiore sicurezza, è anche possibile limitare l'accesso a specifici intervalli IP, endpoint di servizio, reti virtuali o endpoint privati.

Per altre informazioni, vedere Accedere ad Azure Key Vault protetto da firewall.

Flusso dell'operazione di richiesta di Key Vault con autenticazione

L'autenticazione di Key Vault viene eseguita come parte di ogni operazione di richiesta su Key Vault. Una volta recuperato, il token può essere riutilizzato per le chiamate successive. Esempio di flusso di autenticazione:

  1. Un token richiede di eseguire l'autenticazione con Microsoft Entra ID, ad esempio:

    • Una risorsa di Azure, ad esempio una macchina virtuale o un'applicazione del Servizio app con un'identità gestita, contatta l'endpoint REST per ottenere un token di accesso.
    • Un utente accede al portale di Azure usando un nome utente e una password.
  2. Se l'autenticazione con Microsoft Entra ID ha esito positivo, all'entità di sicurezza viene concesso un token OAuth.

  3. Una chiamata all'API REST di Key Vault tramite l'endpoint (URI) di Key Vault.

  4. Il firewall di Key Vault controlla i criteri seguenti. Se viene soddisfatto un criterio, la chiamata è consentita. In caso contrario, la chiamata viene bloccata e viene restituita una risposta di operazione non consentita.

    • Il firewall viene disabilitato e l'endpoint pubblico di Key Vault è raggiungibile dalla rete Internet pubblica.
    • Il chiamante è un servizio attendibile di Key Vault e ciò consente di evitare il firewall.
    • Il chiamante è elencato nel firewall in base a indirizzo IP, rete virtuale o endpoint di servizio.
    • Il chiamante può raggiungere Key Vault tramite una connessione di collegamento privato configurata.
  5. Se il firewall consente la chiamata, Key Vault chiama Microsoft Entra ID per convalidare il token di accesso dell'entità di sicurezza.

  6. Key Vault verifica se l'entità di sicurezza dispone dell'autorizzazione necessaria per l'operazione richiesta. In caso contrario, Key Vault restituisce una risposta di operazione non consentita.

  7. Key Vault esegue l'operazione richiesta e restituisce il risultato.

Il diagramma seguente illustra il processo di un'applicazione che chiama un'API Key Vault "Get Secret":

The Azure Key Vault authentication flow

Nota

I client Key Vault SDK per segreti, certificati e chiavi effettuano una chiamata aggiuntiva a Key Vault senza token di accesso, che restituisce una risposta 401 per recuperare le informazioni sul tenant. Per altre informazioni, vedere Autenticazione, richieste e risposte

Autenticazione a Key Vault nel codice dell'applicazione

Key Vault SDK usa la libreria client di Identità di Azure, che consente l'autenticazione semplice per Key Vault in ambienti con lo stesso codice

Librerie client di Identità di Azure

.NET Python Java JavaScript
Azure Identity SDK .NET Azure Identity SDK Python Azure Identity SDK Java Azure Identity SDK JavaScript

Per altre informazioni sulle procedure consigliate e sugli esempi per sviluppatori, vedere Eseguire l'autenticazione su Key Vault nel codice

Passaggi successivi