Condividi tramite


Guida per gli sviluppatori per Azure Key Vault

Azure Key Vault è un servizio cloud che fornisce archiviazione sicura e gestione di chiavi crittografiche, segreti e certificati. Questa guida consente agli sviluppatori di integrare Key Vault nelle applicazioni.

Informazioni generali

Azure Key Vault consente di:

  • Archiviazione sicura: proteggere chiavi, segreti e certificati senza scrivere codice di sicurezza personalizzato.
  • Gestione semplificata delle chiavi: centralizzare le operazioni di crittografia e la gestione del ciclo di vita delle chiavi.
  • Chiavi di proprietà del cliente: consente ai clienti di gestire le proprie chiavi mentre ci si concentra sulle funzionalità principali dell'applicazione.
  • Gestione delle chiavi esterne: usare le chiavi per la firma e la crittografia mantenendole esterne all'applicazione.

Per informazioni generali su Azure Key Vault, vedere Informazioni su Azure Key Vault.

Scenari di sviluppo

Le attività di sviluppo comuni con Key Vault includono:

  • Archiviare e recuperare segreti: gestire in modo sicuro stringhe di connessione, password, chiavi API e token di firma di accesso condiviso. Per altre informazioni, vedere Informazioni sui segreti.
  • Usare le chiavi per la crittografia e la firma: eseguire operazioni di crittografia senza esporre il materiale della chiave all'applicazione. Per altre informazioni, vedere Informazioni sulle chiavi.
  • Gestire i certificati: automatizzare il provisioning, il rinnovo e la distribuzione dei certificati per SSL/TLS. Per altre informazioni, vedere Informazioni sui certificati.

Anteprime pubbliche

Vengono rilasciate periodicamente anteprime pubbliche delle nuove funzionalità di Key Vault. Per provare le funzionalità di anteprima e inviare commenti e suggerimenti, contattare Microsoft all'indirizzo [email protected]. Per informazioni sulle funzionalità e sugli aggiornamenti più recenti, vedere Novità di Azure Key Vault.

Creare e gestire Key Vault

Key Vault usa un modello di accesso a due piani:

Usare il ruolo predefinito Key Vault Contributor per concedere l'accesso alla gestione delle risorse del Key Vault. Per altre informazioni sull'autenticazione e l'autorizzazione, vedere Autenticazione in Azure Key Vault.

Sicurezza della rete

Ridurre l'esposizione di rete configurando endpoint privati, firewall o endpoint di servizio. Per indicazioni complete sulla sicurezza di rete, incluse le opzioni di configurazione dalla più restrittiva alla meno restrittiva, vedere Proteggere Azure Key Vault: Sicurezza di rete e Configurare le impostazioni di rete di Azure Key Vault.

API e SDK per la gestione di Key Vault

La tabella seguente elenca gli SDK e le guide introduttive per la gestione delle risorse di Key Vault (operazioni del piano di controllo). Per le versioni più recenti e le istruzioni di installazione, vedere Librerie client.

Interfaccia CLI di Azure PowerShell REST API (Interfaccia di Programmazione delle Applicazioni REST) Gestore delle Risorse .NET Pitone Giava JavaScript
Riferimento
Guida introduttiva
Riferimento
Guida introduttiva
Riferimento Riferimento
Guida introduttiva
Riferimento Riferimento Riferimento Riferimento

Eseguire l'autenticazione con Key Vault nel codice

Key Vault usa l'autenticazione di Microsoft Entra, che richiede un'entità di sicurezza di Microsoft Entra per concedere l'accesso. Un'entità di sicurezza di Microsoft Entra può essere un utente, un'entità servizio dell'applicazione, un'identità gestita per le risorse di Azure o un gruppo di uno qualsiasi di questi tipi.

Procedure consigliate per l'autenticazione

Per le applicazioni distribuite in Azure, usare le identità gestite per eliminare la necessità di archiviare le credenziali nel codice. Per indicazioni dettagliate sull'autenticazione e raccomandazioni sui principi di sicurezza per ambienti diversi (produzione, sviluppo, locale), vedere Autenticazione in Azure Key Vault e Proteggere Azure Key Vault.

Librerie client di Azure Identity

Gli scenari di autenticazione precedenti sono supportati dalla libreria client di identità di Azure e integrati con gli SDK di Key Vault. È possibile usare la libreria client di identità di Azure in più ambienti e piattaforme senza modificare il codice. La libreria recupera automaticamente i token di autenticazione dagli utenti che hanno eseguito l'accesso all'utente di Azure tramite l'interfaccia della riga di comando di Azure, Visual Studio, Visual Studio Code e altri mezzi.

Per altre informazioni sulla libreria client di identità di Azure, vedere:

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

Annotazioni

In passato, consigliavamo la Libreria di Autenticazione App per Key Vault .NET SDK versione 3, ma ora è deprecata. Per eseguire la migrazione a Key Vault SDK per .NET versione 4, seguire le indicazioni per la migrazione da AppAuthentication ad Azure.Identity.

Per esercitazioni su come eseguire l'autenticazione in Key Vault nelle applicazioni, vedere:

Gestire chiavi, certificati e segreti

Annotazioni

Gli SDK per .NET, Python, Java, JavaScript, PowerShell e l'interfaccia della riga di comando di Azure fanno parte del processo di rilascio delle funzionalità di Key Vault tramite l'anteprima pubblica e la disponibilità generale con il supporto del team del servizio Key Vault. Sono disponibili altri client SDK per Key Vault, ma sono compilati e supportati da singoli team SDK su GitHub e rilasciati in base alla pianificazione dei team. Per le versioni più recenti dell'SDK e i pacchetti di installazione, vedere Librerie client.

Il piano dati controlla l'accesso a chiavi, certificati e segreti. È possibile usare Azure RBAC con Key Vault per il controllo degli accessi tramite il piano dati.

API e SDK per le chiavi

La tabella seguente elenca gli SDK e le guide introduttive per l'uso delle chiavi (operazioni del piano dati). Per altre informazioni sulle chiavi, vedere Informazioni sulle chiavi.

Interfaccia CLI di Azure PowerShell REST API (Interfaccia di Programmazione delle Applicazioni REST) Gestore delle Risorse .NET Pitone Giava JavaScript
Riferimento
Guida introduttiva
Riferimento
Guida introduttiva
Riferimento Riferimento
Guida introduttiva
Riferimento
Guida introduttiva
Riferimento
Guida introduttiva
Riferimento
Guida introduttiva
Riferimento
Guida introduttiva

Altre librerie

Client di crittografia per Key Vault e HSM gestito

Questo modulo fornisce un client di crittografia per il modulo client delle chiavi di Azure Key Vault per Go.

Annotazioni

Questo progetto non è supportato dal team di Azure SDK, ma è allineato ai client di crittografia in altri linguaggi supportati.

Lingua Riferimento
Go Riferimento

API e SDK per i certificati

La tabella seguente elenca gli SDK e le guide introduttive per l'uso dei certificati (operazioni del piano dati). Per altre informazioni sui certificati, vedere Informazioni sui certificati.

Interfaccia CLI di Azure PowerShell REST API (Interfaccia di Programmazione delle Applicazioni REST) Gestore delle Risorse .NET Pitone Giava JavaScript
Riferimento
Guida introduttiva
Riferimento
Guida introduttiva
Riferimento Non disponibile Riferimento
Guida introduttiva
Riferimento
Guida introduttiva
Riferimento
Guida introduttiva
Riferimento
Guida introduttiva

API e SDK per i segreti

La tabella seguente elenca gli SDK e le guide introduttive per l'uso dei segreti (operazioni del piano dati). Per altre informazioni sui segreti, vedere Informazioni sui segreti.

Interfaccia CLI di Azure PowerShell REST API (Interfaccia di Programmazione delle Applicazioni REST) Gestore delle Risorse .NET Pitone Giava JavaScript
Riferimento
Guida introduttiva
Riferimento
Guida introduttiva
Riferimento Riferimento
Guida introduttiva
Riferimento
Guida introduttiva
Riferimento
Guida introduttiva
Riferimento
Guida introduttiva
Riferimento
Guida introduttiva

Uso dei segreti

Usare Azure Key Vault per archiviare solo i segreti dell'applicazione. Alcuni esempi di segreti da archiviare in Key Vault includono:

  • Segreti dell'applicazione client
  • Stringhe di connessione
  • Passwords
  • Chiavi di accesso condivise
  • Chiavi SSH

Qualsiasi informazione relativa ai segreti, ad esempio nomi utente e ID applicazione, può essere memorizzata come tag all'interno di un segreto. Per qualsiasi altra impostazione di configurazione sensibile è consigliabile usare Configurazione app di Azure.

Per i pacchetti di installazione e il codice sorgente, vedere Librerie client.

Usare Key Vault nelle applicazioni

Per sfruttare le ultime funzionalità di Key Vault, è consigliabile usare gli SDK di Key Vault disponibili per l'uso di segreti, certificati e chiavi nell'applicazione. Gli SDK e l'API REST di Key Vault vengono aggiornati man mano che vengono rilasciate nuove funzionalità per il prodotto e seguono le linee guida e le procedure consigliate.

Per gli scenari di base, sono disponibili altre librerie e soluzioni di integrazione per un uso semplificato, supportate dai partner Microsoft o dalle community open source.

Per i certificati, è possibile usare:

Per i segreti, è possibile usare:

Esempi di codice

Per esempi completi relativi all'uso di Key Vault con le applicazioni, vedere gli esempi di codice di Azure Key Vault.

Indicazioni specifiche per le attività

Gli articoli e gli scenari seguenti offrono indicazioni specifiche per il compito per lavorare con Azure Key Vault:

Integrazione con Key Vault

I servizi e gli scenari seguenti usano o si integrano con Key Vault:

  • La crittografia a riposo consiste nella codifica (crittografia) dei dati quando sono persistenti. Le chiavi di crittografia dei dati vengono spesso crittografate con una chiave di crittografia della chiave in Azure Key Vault per limitare ulteriormente l'accesso.
  • Azure Information Protection consente di gestire la propria chiave tenant. Ad esempio, anziché affidare a Microsoft la gestione della chiave tenant (impostazione predefinita), l'utente può gestire la propria chiave tenant per garantire la conformità alle normative specifiche che si applicano all'organizzazione. La gestione della propria chiave tenant viene anche definita Bring Your Own Key (BYOK).
  • Il servizio di collegamento privato di Azure consente di accedere ai servizi di Azure, ad esempio Azure Key Vault, Archiviazione di Azure e Azure Cosmos DB, e ai servizi di clienti/partner ospitati in Azure tramite un endpoint privato nella rete virtuale.
  • L'integrazione di Key Vault con Griglia di eventi di Azure consente agli utenti di ricevere una notifica quando lo stato di un segreto archiviato in Key Vault è stato modificato. È possibile distribuire nuove versioni dei segreti alle applicazioni o eseguire la rotazione dei segreti vicini alla scadenza per evitare interruzioni.
  • Proteggere i segreti di Azure DevOps dall'accesso indesiderato in Key Vault.
  • Usare i segreti archiviati in Key Vault per connettersi ad Archiviazione di Azure da Azure Databricks.
  • Configurare ed eseguire il provider di Azure Key Vault per il driver CSI dell'archivio segreti in Kubernetes.

Ripristino di emergenza e continuità aziendale

Key Vault offre un ripristino di emergenza integrato con replicazione regionale automatica. Per le distribuzioni di produzione, abilitare l'eliminazione temporanea e la protezione dalla purga, e implementare backup regolari. Per altre informazioni, vedere Disponibilità e ridondanza di Azure Key Vault, gestione del ripristino di Azure Key Vault e backup di Azure Key Vault.

Prestazioni e scalabilità

Quando si sviluppano applicazioni che usano Key Vault, prendere in considerazione le procedure consigliate per le prestazioni e la scalabilità seguenti:

  • Limiti del servizio: Key Vault ha limiti di servizio per le transazioni per vault per area. Il superamento di questi limiti comporta la limitazione delle richieste. Per altre informazioni, vedere Limiti del servizio Azure Key Vault.
  • Indicazioni sulla limitazione: implementare la logica di ripetizione dei tentativi con backoff esponenziale per gestire le risposte di limitazione. Per altre informazioni, vedere Linee guida per la limitazione di Azure Key Vault.
  • Memorizzazione nella cache: memorizzare nella cache segreti e certificati nell'applicazione per ridurre le chiamate a Key Vault e migliorare le prestazioni.
  • Gestione connessione: riutilizzare le connessioni HTTP a Key Vault quando possibile per ridurre la latenza e migliorare le prestazioni.

Monitoraggio e registrazione

Abilitare la registrazione e il monitoraggio per la sicurezza, la conformità e la risoluzione dei problemi. Configurare le impostazioni di diagnostica, le notifiche di Griglia di eventi e gli avvisi per gli eventi critici. Per indicazioni dettagliate, vedere Monitoraggio di Azure Key Vault, Registrazione di Azure Key Vault, Monitoraggio di Key Vault con Azure Event Grid, e Proteggere Azure Key Vault: Registrazione e Rilevamento delle Minacce.

Parametri comuni e modelli di richiesta

Quando si usa l'API REST di Key Vault, è utile comprendere i parametri comuni e i modelli di richiesta/risposta:

  • Versioni API: Key Vault usa le API con controllo delle versioni. Specificare sempre la versione dell'API nelle richieste.
  • Intestazioni comuni: informazioni sulle intestazioni HTTP obbligatorie e facoltative per le richieste di Key Vault. Per altre informazioni, vedere Parametri e intestazioni comuni di Azure Key Vault.
  • Richieste di autenticazione: informazioni su come vengono acquisiti e usati i token di autenticazione. Per altre informazioni, vedere Autenticazione, richieste e risposte.
  • Codici di errore: acquisire familiarità con i codici di errore comuni dell'API REST per gestire correttamente gli errori. Per altre informazioni, vedere Codici di errore dell'API REST di Azure Key Vault.

Risoluzione dei problemi

Per informazioni sulla risoluzione dei problemi comuni:

Procedure consigliate per la sicurezza

Per indicazioni complete sulla sicurezza, tra cui la gestione delle identità e degli accessi, la protezione dei dati, la conformità, la governance e le strategie di backup, vedere Proteggere Azure Key Vault.

Risorse aggiuntive

Concetti di Key Vault

Gestione e operazioni

Comunità e supporto