Azure Key Vault
Archivi e gestisca segreti, chiavi di crittografia e certificati in Key Vault e lo integri con altri servizi Azure per evitare credenziali codificate nel codice.
Azure Key Vault è una lezione Azure Fundamentals gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Azure Fundamentals, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Azure Fundamentals include 4 lezioni in totale.
Che cos'è Azure Key Vault?
Azure Key Vault è un servizio cloud per archiviare e gestire in modo sicuro segreti (chiavi API, password, stringhe di connessione), chiavi di crittografia (utilizzate per crittografare i dati) e certificati (certificati TLS/SSL per le applicazioni). Invece di incorporare i valori sensibili nel codice dell'applicazione, nei file di configurazione o nelle variabili d'ambiente, le applicazioni li recuperano da Key Vault durante l'esecuzione, mantenendo le credenziali fuori dal codice sorgente e dagli artefatti di distribuzione.
Livelli di Key Vault: Standard e Premium
Key Vault è disponibile in due livelli. Standard protegge segreti e certificati tramite crittografia basata su software. Premium aggiunge il supporto per le chiavi protette da Hardware Security Module (HSM): le operazioni crittografiche vengono eseguite all'interno di hardware a prova di manomissione, che offre la certificazione FIPS 140-2 di livello 2 (Standard) o di livello 3 (HSM). Un'offerta distinta, Managed HSM, fornisce un HSM a tenant singolo e completamente gestito per i requisiti di massima garanzia.
Creazione di un Key Vault
Ogni Key Vault viene creato in un gruppo di risorse e in un'area Azure specifici. Il nome del vault deve essere univoco a livello globale all'interno dello spazio dei nomi vault.azure.net. Durante la creazione si configura il modello di accesso: il modello precedente delle criteri di accesso del vault oppure il modello consigliato Azure RBAC, in cui i ruoli di Entra ID controllano in modo indipendente l'accesso in lettura e scrittura a segreti, chiavi e certificati.
# Create a Key Vault with RBAC access model
az keyvault create \
--name myUniqueVault123 \
--resource-group myRG \
--location eastus \
--enable-rbac-authorization true
# Grant yourself the Key Vault Secrets Officer role
az role assignment create \
--role 'Key Vault Secrets Officer' \
--assignee your-user@company.com \
--scope /subscriptions/<sub-id>/resourceGroups/myRG/providers/Microsoft.KeyVault/vaults/myUniqueVault123Archiviazione e recupero dei segreti
Un segreto in Key Vault è qualsiasi valore stringa sensibile: password di database, chiavi API, segreti client OAuth, stringhe di connessione degli account di archiviazione. Ogni segreto ha un nome, un valore e attributi facoltativi come una data di scadenza e un indicatore di abilitazione. Le applicazioni eseguono l'autenticazione a Key Vault (in genere tramite un'identità gestita) e chiamano l'API REST di Key Vault per recuperare il valore corrente del segreto durante l'esecuzione: non sono presenti valori hardcoded.
# Store a database password as a secret
az keyvault secret set \
--vault-name myUniqueVault123 \
--name db-password \
--value 'SuperSecret!42'
# Retrieve the secret value
az keyvault secret show \
--vault-name myUniqueVault123 \
--name db-password \
--query value \
--output tsvGestione delle chiavi di crittografia
Key Vault archivia chiavi crittografiche utilizzate per crittografare e decrittografare i dati. Servizi come Azure Storage, Azure SQL Database e Azure Disk Encryption si integrano con Key Vault per usare chiavi gestite dal cliente (CMK) negli scenari Bring Your Own Key (BYOK). Con le CMK, mantiene il controllo sulla chiave di crittografia: la revoca della chiave in Key Vault impedisce immediatamente a qualsiasi servizio di decrittografare i dati, fornendo un kill switch crittografico.
# Create an RSA key in Key Vault
az keyvault key create \
--vault-name myUniqueVault123 \
--name myEncryptionKey \
--kty RSA \
--size 2048
# Enable CMK on a Storage Account
az storage account update \
--resource-group myRG \
--name mystorageaccount \
--encryption-key-vault myUniqueVault123 \
--encryption-key-name myEncryptionKey \
--encryption-key-source Microsoft.KeyvaultGestione dei certificati
Key Vault può fungere da interfaccia per un'autorità di certificazione per i certificati TLS. È possibile generare certificati autofirmati, importare file PFX/PEM esistenti oppure configurare Key Vault affinché richieda e rinnovi automaticamente i certificati presso CA attendibili come DigiCert o GlobalSign. Quando un certificato sta per scadere, Key Vault può rinnovarlo automaticamente e notificare gli amministratori tramite eventi di Event Grid, eliminando i flussi di lavoro di rinnovo manuale.
# Import an existing certificate
az keyvault certificate import \
--vault-name myUniqueVault123 \
--name myCert \
--file certificate.pfx \
--password 'CertPassword'Controllo degli accessi: RBAC e criteri di accesso
Key Vault supporta due modelli di accesso. Le criteri di accesso del vault rappresentano il modello legacy, in cui si concedono a un'entità autorizzazioni per tutti i segreti, le chiavi o i certificati del vault; non è possibile limitare l'accesso a singoli nomi di segreto. Il nuovo e consigliato modello Azure RBAC usa ruoli RBAC standard (Key Vault Secrets User, Key Vault Secrets Officer e così via) e supporta assegnazioni di negazione e Privileged Identity Management, offrendo un controllo molto più granulare.
Integrazione di Key Vault con App Service
Un modello comune consiste nel fare riferimento ai segreti di Key Vault come impostazioni dell'applicazione di App Service. Invece di archiviare il valore del segreto nell'impostazione dell'app, si archivia un riferimento a Key Vault: @Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/db-password/). App Service recupera automaticamente il valore corrente del segreto durante l'esecuzione, usando l'identità gestita dell'app. Se il segreto viene ruotato in Key Vault, l'app utilizza il nuovo valore al riavvio successivo.
# Set an App Service app setting as a Key Vault reference
az webapp config appsettings set \
--resource-group myRG \
--name myWebApp \
--settings 'DB_PASSWORD=@Microsoft.KeyVault(SecretUri=https://myUniqueVault123.vault.azure.net/secrets/db-password/)'Eliminazione temporanea e protezione dall'eliminazione definitiva
L'eliminazione temporanea (abilitata per impostazione predefinita) conserva gli elementi eliminati di Key Vault per 7-90 giorni, consentendone il ripristino in caso di eliminazione accidentale. La protezione dall'eliminazione definitiva, quando abilitata, impedisce a chiunque — inclusi i proprietari della sottoscrizione — di eliminare definitivamente un vault eliminato temporaneamente o i relativi oggetti fino alla scadenza del periodo di conservazione. Per la conformità normativa e la resilienza contro il ransomware, abilitare entrambe è una procedura consigliata di sicurezza applicata da Azure Policy.
# Recover a soft-deleted secret
az keyvault secret recover \
--vault-name myUniqueVault123 \
--name db-passwordMonitoraggio e controllo degli accessi a Key Vault
Ogni operazione eseguita su Key Vault — letture, scritture, rinnovi dei certificati, utilizzo delle chiavi — viene registrata nel log di controllo di Key Vault. È possibile abilitare le impostazioni di diagnostica per inviare questi log a un'area di lavoro Log Analytics o a un account di archiviazione per la conservazione a lungo termine. In questo modo si dispone di una traccia di controllo completa che indica chi ha avuto accesso a quale segreto, quando e da quale indirizzo IP: un elemento essenziale per le analisi di sicurezza e le evidenze di conformità.
# Enable diagnostic logging for Key Vault
az monitor diagnostic-settings create \
--resource /subscriptions/<sub-id>/resourceGroups/myRG/providers/Microsoft.KeyVault/vaults/myUniqueVault123 \
--workspace /subscriptions/<sub-id>/resourceGroups/myRG/providers/Microsoft.OperationalInsights/workspaces/myWorkspace \
--name kv-audit-logs \
--logs '[{"category":"AuditEvent","enabled":true}]'Endpoint privati per Key Vault
Per impostazione predefinita, Key Vault dispone di un endpoint HTTPS pubblico su Internet. Negli ambienti con requisiti di alta sicurezza, è possibile distribuire un endpoint privato che colloca Key Vault all'interno della VNet con un indirizzo IP privato e disabilitare completamente l'endpoint pubblico. Le applicazioni che accedono a Key Vault tramite l'endpoint privato non attraversano mai la rete Internet pubblica, soddisfacendo i requisiti di prevenzione dell'esfiltrazione dei dati e rendendo Key Vault invisibile dall'esterno della VNet.
Verifica rapida
Verifichi la propria comprensione dei concetti di Microsoft Azure Fundamentals (AZ-900) trattati in questa lezione.
Riepilogo della lezione
In questa lezione ha appreso che: Key Vault archivia segreti, chiavi di crittografia e certificati TLS in un servizio gestito e sottoposto a controllo, l'integrazione con le identità gestite elimina la necessità di credenziali hardcoded nel codice dell'applicazione e l'eliminazione temporanea e la protezione dall'eliminazione definitiva proteggono dalla cancellazione accidentale o dannosa del materiale crittografico. Nella prossima lezione esamineremo Microsoft Sentinel, il SIEM cloud-native di Azure.
Domande Frequenti
La lezione «Azure Key Vault» è gratuita?
Sì — il testo completo di «Azure Key Vault» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Azure Fundamentals, passa a CoddyKit PRO. Il corso Azure Fundamentals include 4 lezioni in totale.
Cosa imparerò in «Azure Key Vault»?
Archivi e gestisca segreti, chiavi di crittografia e certificati in Key Vault e lo integri con altri servizi Azure per evitare credenziali codificate nel codice. Eserciti Azure Fundamentals con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Azure Fundamentals?
Non è richiesta alcuna esperienza precedente. Azure Fundamentals su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Azure Key Vault»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Azure Fundamentals?
Sì. Ogni lezione Azure Fundamentals include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Microsoft Defender for Cloud
- Azure Key Vault
- Microsoft Sentinel: SIEM cloud
- Azure DDoS Protection e Firewall