Che cos'è Azure Key Vault?
Azure Key Vault è un archivio segreti: un servizio cloud centralizzato per l'archiviazione dei segreti delle app, ad esempio valori di configurazione come password e stringhe di connessione, che devono rimanere sempre sicuri. Key Vault consente di controllare i segreti delle app mantenendoli in un'unica posizione centrale. Fornisce accesso sicuro, controllo delle autorizzazioni e registrazione degli accessi.
I vantaggi principali dell'uso di Key Vault sono:
- Separazione delle informazioni sensibili dell'app da altre configurazioni e dal codice, riducendo il rischio di perdite accidentali.
- Accesso ai segreti limitato con criteri di accesso su misura per le app e gli utenti che devono usarle.
- Archiviazione privata centralizzata, ovvero le modifiche necessarie devono essere apportate solo in un'unica posizione.
- Accesso a funzionalità di registrazione e monitoraggio per una migliore comprensione di come e quando avviene l'accesso ai segreti.
I segreti vengono archiviati in singoli insiemi di credenziali, ovvero le risorse di Azure usate per raggruppare i segreti. L'accesso ai segreti e la gestione degli insiemi di credenziali vengono eseguiti tramite un'API REST. Tutti gli strumenti di gestione di Azure e le librerie client disponibili per molti linguaggi comuni supportano anche questa API. Ogni insieme di credenziali ha un URL univoco in cui è ospitata la relativa API.
Importante
Il servizio Key Vault è stato progettato per archiviare i segreti della configurazione per le app server. Non è destinata all'archiviazione dei dati appartenenti agli utenti dell'app. Non deve essere usata nella parte lato client di un'app. Questo comportamento si riflette nelle caratteristiche di prestazioni, nell'API e nel modello di costi.
I dati utente dovranno essere archiviati altrove, ad esempio in un database SQL di Azure con Transparent Data Encryption o in un account di archiviazione con la crittografia del servizio di archiviazione. I segreti usati dall'app per accedere a tali archivi dati possono essere conservati in Key Vault.
Informazioni sui segreti in Key Vault
In Key Vault, un segreto è una coppia di stringhe nome-valore. I nomi dei segreti devono avere una lunghezza compresa tra 1 e 127 caratteri, contenere solo caratteri alfanumerici e trattini ed essere univoci all'interno di un insieme di credenziali. Il valore di un segreto può essere qualsiasi stringa UTF-8 di dimensioni fino a 25 KB.
Suggerimento
I nomi dei segreti non devono necessariamente essere considerati a propria volta segreti. Possono essere archiviati nella configurazione dell'app, se necessario per l'implementazione. Lo stesso vale per gli URL e i nomi degli insiemi di credenziali.
Nota
Key Vault supporta due tipi aggiuntivi di segreti oltre le stringhe: chiavi e certificati. Key Vault offre funzionalità utili specifiche per i relativi casi d'uso. Questo modulo non illustra tali funzionalità e si concentra sui segreti stringa, come le password e le stringhe di connessione.
Autenticazione e autorizzazioni per gli insiemi di credenziali
L'API di Key Vault usa Microsoft Entra ID per autenticare utenti e app. I criteri di accesso agli insiemi di credenziali sono basati su azioni e vengono applicati in un intero insieme di credenziali. Ad esempio, un'app con autorizzazioni Get
(per leggere i valori dei segreti), List
(per elencare i nomi di tutti i segreti) e Set
(per creare o aggiornare i valori dei segreti) per un insieme di credenziali può creare segreti, elencare i nomi di tutti i segreti e recuperarne e impostarne i valori in tale insieme di credenziali.
Tutte le azioni eseguite in un insieme di credenziali richiedono l'autenticazione e l'autorizzazione. Non è possibile concedere alcun tipo di accesso anonimo.
Suggerimento
Quando si concede l'accesso all'insieme di credenziali a sviluppatori e app, concedere solo il set di autorizzazioni minimo necessario. Le limitazioni delle autorizzazioni consentono di evitare gli incidenti causati da bug nel codice e di ridurre l'impatto del furto di credenziali o dell'inserimento di codice dannoso nell'app.
In genere, gli sviluppatori hanno solo bisogno delle autorizzazioni Get
e List
per un insieme di credenziali dell'ambiente di sviluppo. Alcuni tecnici dovranno disporre delle autorizzazioni complete per modificare e aggiungere i segreti in base alla necessità
Per le app, spesso sono sufficienti solo autorizzazioni Get
. A seconda delle modalità di implementazione delle app, alcune app potrebbero richiedere List
. A causa della tecnica usata per leggere i segreti dall'insieme di credenziali, l'app nell'esercizio di questo modulo richiede l'autorizzazione List
.