Guida per gli sviluppatori per Azure Key Vault
Azure Key Vault consente di accedere in modo sicuro alle informazioni riservate dall'interno delle applicazioni:
- Chiavi, segreti e certificati sono protetti senza dover scrivere manualmente il codice ed è possibile usarli facilmente dalle applicazioni.
- È possibile consentire ai clienti di essere proprietari e di eseguire la gestione dei propri segreti, chiavi e certificati, in modo da concentrarsi sulle principali funzionalità software da rendere disponibili. In questo modo, le applicazioni non saranno responsabili o potenziali responsabilità per le chiavi, i segreti e i certificati del tenant dei clienti.
- L'applicazione può usare chiavi per la firma e la crittografia, ma mantenere la gestione delle chiavi esterna dall'applicazione. Per altre informazioni, vedere Informazioni sulle chiavi.
- È possibile gestire credenziali come password, chiavi di accesso e token di firma di accesso condiviso archiviandoli in Key Vault come segreti. Per altre informazioni, vedere Informazioni sui segreti.
- Gestire i certificati. Per altre informazioni, vedere Informazioni sui certificati.
Per informazioni generali su Azure Key Vault, vedere Informazioni su Azure Key Vault.
Anteprime pubbliche
Periodicamente, viene rilasciata un'anteprima pubblica di una nuova funzionalità di Key Vault. Provare le funzionalità di anteprima pubblica e segnalare cosa si ritiene tramite azurekeyvault@microsoft.com, il nostro indirizzo e-mail di feedback.
Creare e gestire insiemi di credenziali delle chiavi
Come con altri servizi di Azure, Key Vault viene gestito tramite Azure Resource Manager. Azure Resource Manager è il servizio di distribuzione e gestione di Azure. È possibile usarlo per creare, aggiornare ed eliminare risorse nell'account Azure.
Il controllo degli accessi in base al ruolo di Azure controlla l'accesso al livello di gestione, noto anche come piano di gestione. Usare il piano di gestione in Key Vault per creare e gestire insiemi di credenziali delle chiavi e i relativi attributi, inclusi i criteri di accesso. Usare il piano dati per gestire chiavi, certificati e segreti.
È possibile usare il ruolo predefinito Collaboratore insieme di credenziali delle chiavi per concedere l'accesso di gestione a Key Vault.
API e SDK per la gestione dell'insieme di credenziali delle chiavi
Interfaccia della riga di comando di Azure | PowerShell | API REST | Gestione risorse | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Riferimento Guida introduttiva |
Riferimento Guida introduttiva |
Riferimento | Riferimento Guida introduttiva |
Riferimento | Riferimento | Riferimento | Riferimento |
Per i pacchetti di installazione e il codice sorgente, vedere Librerie client.
Eseguire l'autenticazione in 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 Di Microsoft Entra può essere un utente, un'entità servizio dell'applicazione, un'identità gestita per le risorse di Azure o un gruppo di questi tipi.
Procedure consigliate per l'autenticazione
È consigliabile usare un'identità gestita per le applicazioni distribuite in Azure. Se si usano i servizi di Azure che non supportano le identità gestite o se le applicazioni vengono distribuite in locale, un'entità servizio con un certificato è una possibile alternativa. In questo scenario, il certificato deve essere archiviato in Key Vault e ruotato di frequente.
Usare un'entità servizio con un segreto per gli ambienti di sviluppo e test. Usare un'entità utente per lo sviluppo locale e Azure Cloud Shell.
È consigliabile usare queste entità di sicurezza in ogni ambiente:
- Ambiente di produzione: identità gestita o entità servizio con un certificato.
- Ambienti di test e sviluppo: identità gestita, entità servizio con certificato o entità servizio con un segreto.
- Sviluppo locale: entità utente o entità servizio con un segreto.
Librerie client di Identità di Azure
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 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 | Python | Java | JavaScript |
---|---|---|---|
Azure Identity SDK .NET | Azure Identity SDK Python | Azure Identity SDK Java | Azure Identity SDK JavaScript |
Nota
È consigliabile usare la libreria di autenticazione delle app per Key Vault .NET SDK versione 3, ma è ora deprecata. Per eseguire la migrazione a .NET SDK di Key Vault versione 4, seguire le indicazioni sulla migrazione di AppAuthentication ad Azure.Identity.
Per esercitazioni su come eseguire l'autenticazione in Key Vault nelle applicazioni, vedere:
- Usare Azure Key Vault con una macchina virtuale in .NET
- Usare Azure Key Vault con una macchina virtuale in Python
- Usare un'identità gestita per connettere Key Vault a un'app Web di Azure in .NET
Gestire chiavi, certificati e segreti
Nota
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 nella pianificazione dei team.
Il piano dati controlla l'accesso a chiavi, certificati e segreti. È possibile usare i criteri di accesso all'insieme di credenziali locali o il controllo degli accessi in base al ruolo di Azure per il controllo di accesso tramite il piano dati.
API e SDK per le chiavi
Interfaccia della riga di comando di Azure | PowerShell | API REST | Gestione 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 modulo di protezione hardware gestito
Questo modulo fornisce un client di crittografia per il modulo client Chiavi di Azure Key Vault per Go.
Nota
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
Interfaccia della riga di comando di Azure | PowerShell | API REST | Gestione risorse | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Riferimento Guida introduttiva |
Riferimento Guida introduttiva |
Riferimento | N/D | Riferimento Guida introduttiva |
Riferimento Guida introduttiva |
Riferimento Guida introduttiva |
Riferimento Guida introduttiva |
API e SDK per i segreti
Interfaccia della riga di comando di Azure | PowerShell | API REST | Gestione 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 |
Utilizzo dei segreti
Usare Azure Key Vault per archiviare solo i segreti per l'applicazione. Alcuni esempi di segreti che devono essere archiviati in Key Vault includono:
- Segreti dell'applicazione client
- Stringhe di connessione
- Password
- Chiavi di accesso condivise
- Chiavi SSH
Qualsiasi informazione relativa ai segreti, ad esempio nomi utente e ID applicazione, può essere archiviata come tag in un segreto. Per qualsiasi altra impostazione di configurazione sensibile, è consigliabile usare app Azure Configurazione.
Riferimenti
Per i pacchetti di installazione e il codice sorgente, vedere Librerie client.
Per informazioni sulla sicurezza del piano dati per Key Vault, vedere Funzionalità di sicurezza di Azure Key Vault.
Usare Key Vault nelle applicazioni
Per sfruttare le funzionalità più recenti in 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 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 dai partner Microsoft o dalle community open source.
Per i certificati, è possibile usare:
- L'estensione macchina virtuale di Key Vault, che fornisce l'aggiornamento automatico dei certificati archiviati in un insieme di credenziali delle chiavi di Azure. Per altre informazioni, vedere:
- app Azure'integrazione del servizio, che può importare e aggiornare automaticamente i certificati da Key Vault. Per altre informazioni, vedere Importare un certificato da Key Vault.
Per i segreti, è possibile usare:
- Segreti di Key Vault con impostazioni dell'applicazione servizio app. Per altre informazioni, vedere Usare i riferimenti a Key Vault per servizio app e Funzioni di Azure.
- Riferimenti a Key Vault con app Azure Configurazione per semplificare l'accesso dell'applicazione alla configurazione e ai segreti. Per altre informazioni, vedere Usare i riferimenti a Key Vault in app Azure Configurazione.
Esempi di codice
Per esempi completi sull'uso di Key Vault con le applicazioni, vedere Esempi di codice di Azure Key Vault.
Linee guida specifiche dell'attività
Gli articoli e gli scenari seguenti offrono indicazioni specifiche su come usare l'insieme di credenziali delle chiavi di Azure:
- Per accedere a un insieme di credenziali delle chiavi, l'applicazione client deve essere in grado di accedere a più endpoint per varie funzionalità. Vedere Accesso a Key Vault dietro un firewall.
- Un'applicazione cloud in esecuzione in una macchina virtuale di Azure richiede un certificato. Come si ottiene questo certificato in questa macchina virtuale? Vedere Estensione macchina virtuale Key Vault per l'estensione macchina virtuale Windows o Key Vault per Linux.
- Per assegnare un criterio di accesso usando l'interfaccia della riga di comando di Azure, PowerShell o il portale di Azure, vedere Assegnare un criterio di accesso a Key Vault.
- Per indicazioni sull'uso e sul ciclo di vita di un insieme di credenziali delle chiavi e di vari oggetti dell'insieme di credenziali delle chiavi con eliminazione temporanea abilitata, vedere Gestione del ripristino di Azure Key Vault con eliminazione temporanea e protezione dall'eliminazione temporanea.
- Quando è necessario passare un valore sicuro (ad esempio una password) come parametro durante la distribuzione, è possibile archiviare tale valore come segreto in un insieme di credenziali delle chiavi e fare riferimento al valore in altri modelli di Resource Manager. Vedere Usare Azure Key Vault per passare i valori dei parametri sicuri durante la distribuzione.
Integrazione con Key Vault
I servizi e gli scenari seguenti usano o si integrano con Key Vault:
- La crittografia dei dati inattivi consente la codifica (crittografia) dei dati quando è persistente. 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, 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 del tenant è detta anche BYOK (Bring Your Own Key ).
- 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 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 ruotare segreti quasi scaduti per evitare interruzioni.
- Proteggere i segreti di Azure DevOps dall'accesso indesiderato in 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 dell'archivio segreti in Kubernetes.
Panoramiche e concetti su Key Vault
Per informazioni su:
- Funzionalità che consente il ripristino di oggetti eliminati, indipendentemente dal fatto che l'eliminazione sia stata accidentale o intenzionale, vedere Panoramica dell'eliminazione temporanea di Azure Key Vault.
- I concetti di base della limitazione e ottenere un approccio per l'app, vedere Linee guida per la limitazione delle richieste di Azure Key Vault.
- Le relazioni tra aree e aree di sicurezza, vedere Ambienti di sicurezza di Azure Key Vault e limiti geografici.