Condividi tramite


guida per gli sviluppatori di 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

Microsoft rilascia periodicamente anteprime pubbliche delle nuove funzionalità di Key Vault. Per provare le funzionalità di anteprima e fornire commenti e suggerimenti, contattare il team all'indirizzo azurekeyvault@microsoft.com. Per informazioni sulle funzionalità e gli 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 Collaboratore per concedere l'accesso di gestione alle risorse di Key Vault. Per altre informazioni sull'autenticazione e l'autorizzazione, vedere Authentication 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, vedere Secure your Azure Key Vault: Network Security and Configurare le impostazioni di rete 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 control plane). Per le versioni più recenti e le istruzioni di installazione, vedere Librerie client.

interfaccia della riga di comando di Azure PowerShell REST API (Interfaccia di Programmazione delle Applicazioni REST) Gestore delle Risorse .NET Python Java JavaScript
Riferimento
Guida introduttiva
Riferimento
Guida introduttiva
Riferimento Riferimento
Guida introduttiva
Riferimento Riferimento Riferimento Riferimento

Eseguire l'autenticazione per Key Vault nel codice

Key Vault usa l'autenticazione Microsoft Entra, che richiede un'entità di sicurezza Microsoft Entra per concedere l'accesso. Un'entità di sicurezza Microsoft Entra può essere un utente, un'entità servizio dell'applicazione, un'identità gestita per risorse di Azure o un gruppo 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 per le raccomandazioni sulle entità di sicurezza per ambienti diversi (produzione, sviluppo, locale), vedere Authentication in Azure Key Vault e Secure your Azure Key Vault.

librerie client Azure Identity

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

Per altre informazioni sulla libreria client Azure Identity, vedere:

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

Annotazioni

Abbiamo raccomandato la App Authentication library per Key Vault .NET SDK versione 3, ma ora è deprecato. Per eseguire la migrazione a Key Vault .NET SDK versione 4, seguire AppAuthentication per Azure. Linee guida per la migrazione delle identità.

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

Gestire chiavi, certificati e segreti

Annotazioni

Gli SDK per .NET, Python, Java, JavaScript, PowerShell e le interfaccia della riga di comando di Azure fanno parte del processo di rilascio delle funzionalità 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 dai singoli team SDK su GitHub e rilasciati nella 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 utilizzare Azure RBAC (controllo degli accessi in base al ruolo) con Key Vault per il controllo di accesso tramite il livello 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 della riga di comando di Azure PowerShell REST API (Interfaccia di Programmazione delle Applicazioni REST) Gestore delle Risorse .NET Python Java 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 chiavi Azure Key Vault per Go.

Annotazioni

Questo progetto non è supportato dal team di Azure SDK, ma è in linea con i 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 della riga di comando di Azure PowerShell REST API (Interfaccia di Programmazione delle Applicazioni REST) Gestore delle Risorse .NET Python Java 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 della riga di comando di Azure PowerShell REST API (Interfaccia di Programmazione delle Applicazioni REST) Gestore delle Risorse .NET Python Java 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 per l'applicazione. Esempi di segreti che devono essere archiviati 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 funzionalità più recenti di Key Vault, è consigliabile usare gli SDK Key Vault disponibili per l'uso di segreti, certificati e chiavi nell'applicazione. Gli SDK Key Vault e l'API REST vengono aggiornati man mano che vengono rilasciate nuove funzionalità per il prodotto e seguono le procedure consigliate e le linee guida.

Per gli scenari di base, sono disponibili altre librerie e soluzioni di integrazione per l'utilizzo semplificato, con il supporto fornito da Microsoft partner o community open source.

Per i certificati, è possibile usare:

Per i segreti, è possibile usare:

Esempi di codice

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

Indicazioni specifiche per le attività

Gli articoli e gli scenari seguenti forniscono indicazioni specifiche per le attività per l'uso di 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 del tenant. Ad esempio, invece di lasciare a Microsoft la gestione della chiave del tenant (impostazione predefinita), è possibile gestire la propria chiave del tenant per rispettare normative specifiche che si applicano alla tua organizzazione. La gestione della propria chiave tenant viene anche definita Bring Your Own Key (BYOK).
  • 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 clienti/partner ospitati Azure tramite un endpoint privato nella macchina virtuale Rete.
  • Key Vault l'integrazione con Griglia di eventi di Azure consente agli utenti di ricevere una notifica quando lo stato di un segreto archiviato in Key Vault è cambiato. È possibile distribuire nuove versioni dei segreti alle applicazioni o eseguire la rotazione dei segreti vicini alla scadenza per evitare interruzioni.
  • Proteggi i segreti di Azure DevOps dall'accesso indesiderato su Key Vault.
  • Usare i segreti archiviati in Key Vault per connettersi a Archiviazione di Azure da Azure Databricks.
  • Configurare ed eseguire il provider di Azure Key Vault per il driver CSI Secrets Store in Kubernetes.

Ripristino di emergenza e continuità aziendale

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

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 Azure Key Vault limiti del servizio.
  • Indicazioni sulla limitazione: implementare la logica di ripetizione dei tentativi con backoff esponenziale per gestire le risposte di limitazione. Per ulteriori informazioni, consultare le linee guida su Azure Key Vault per la regolazione delle richieste.
  • Caching: 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 Monitorare Azure Key Vault, Registrazione di Azure Key Vault, Monitoraggio di Key Vault con Griglia di eventi di Azure e Proteggi il tuo Azure Key Vault: Registrazione e Rilevamento delle minacce.

Parametri comuni e modelli di richiesta

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

  • Versioni API: Key Vault usa API versionate. Specificare sempre la versione dell'API nelle richieste.
  • Richieste di autenticazione: comprendere come vengono acquisiti e usati i token di autenticazione, incluse le intestazioni di richiesta e i formati di risposta comuni. 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 Azure Key Vault codici di errore dell'API REST.

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 Secure your Azure Key Vault.

Risorse aggiuntive

concetti di Key Vault

Gestione e operazioni

Comunità e supporto