Abilitare la registrazione di Key Vault

Dopo aver creato una o più insiemi di credenziali delle chiavi, può essere utile monitorare come, quando e da chi vengono usate. Per informazioni dettagliate sulla funzionalità, vedere Registrazione di Azure Key Vault.

Informazioni registrate:

  • Tutte le richieste API REST autenticate, incluse le richieste non riuscite a causa di autorizzazioni di accesso, errori di sistema o richieste non valide.
  • Operazioni sull'insieme di credenziali delle chiavi stesso, tra cui creazione, eliminazione e impostazione di criteri di accesso all'insieme di credenziali delle chiavi, nonché aggiornamento degli attributi dell'insieme di credenziali delle chiavi, quali i tag.
  • Operazioni su chiavi e segreti nell'insieme di credenziali delle chiavi, tra cui:
    • Creazione, modifica o eliminazione di queste chiavi o segreti.
    • Firma, verifica, crittografia, decrittografia, wrapping e annullamento del wrapping delle chiavi, recupero di segreti ed elenco di chiavi e segreti (e delle relative versioni).
  • Richieste non autenticate che generano una risposta 401. Alcuni esempi sono le richieste che non hanno un token di connessione, sono in formato non valido, sono scadute o hanno un token non valido.
  • Eventi di notifica di Griglia di eventi di Azure per le condizioni seguenti: criterio di accesso a Key Vault scaduto, prossimo alla scadenza e modificato (l'evento nuova versione non viene registrato). Gli eventi vengono registrati anche se nell'istanza di Key Vault è stata creata una sottoscrizione di eventi. Per altre informazioni, vedere la Azure Key Vault come origine di Griglia di eventi.

Prerequisiti

Per completare l'esercitazione è necessaria un'istanza di Azure Key Vault. È possibile creare un'istanza di Key Vault usando uno di questi metodi:

Sarà necessaria anche una destinazione per i log. La destinazione può essere un account di archiviazione di Azure esistente o nuovo e/o un'area di lavoro Log Analytics.

È possibile creare un nuovo account di archiviazione di Azure usando uno di questi metodi:

È possibile creare una nuova area di lavoro Log Analytics usando uno di questi metodi:

Connettersi alla sottoscrizione di Key Vault

Il primo passaggio per configurare la registrazione delle chiavi consiste nel connettersi alla sottoscrizione che contiene l'istanza di Key Vault, se all'account sono associate più sottoscrizioni.

Con l'interfaccia della riga di comando di Azure è possibile visualizzare tutte le sottoscrizioni usando il comando az account list. Per connettersi poi a una sottoscrizione, usare il comando az account set:

az account list

az account set --subscription "<subscriptionID>"

Con Azure PowerShell è possibile elencare le sottoscrizioni usando il cmdlet get-AzSubscription. Per connettersi poi a una sottoscrizione, usare il cmdlet Set-AzContext:

Get-AzSubscription

Set-AzContext -SubscriptionId "<subscriptionID>"

Ottenere gli ID delle risorse

Per abilitare la registrazione in un'istanza di Key Vault sono necessari l'ID della risorsa Key Vault e la destinazione (account di Archiviazione di Azure o Log Analytics).

Se non si ricorda il nome dell'istanza di Key Vaul, è possibile trovarlo usando il comando az keyvault list dell'interfaccia della riga di comando di Azure o il cmdlet di Azure PowerShell Get-AzKeyVault.

Usare il nome dell'istanza di Key Vault per trovare il relativo ID della risorsa. Con l'interfaccia della riga di comando di Azure usare il comando az keyvault show.

az keyvault show --name "<your-unique-keyvault-name>"

Con Azure PowerShell usare il cmdlet Get-AzKeyVault.

Get-AzKeyVault -VaultName "<your-unique-keyvault-name>"

L'ID della risorsa per l'istanza di Key Vault è nel formato seguente: "/subscriptions/your-subscription-ID/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/your-unique-keyvault-name. Prenderne nota per il passaggio successivo.

Abilitazione della registrazione

È possibile abilitare la registrazione per Key Vault mediante l'interfaccia della riga di comando di Azure, Azure PowerShell o il portale di Azure.

Interfaccia della riga di comando di Azure

Usare il comando az monitor diagnostic-settings create dell'interfaccia della riga di comando di Azure, l'ID dell'account di archiviazione e l'ID della risorsa Key Vault, come indicato di seguito:

az monitor diagnostic-settings create --storage-account "<storage-account-id>" --resource "<key-vault-resource-id>" --name "Key vault logs" --logs '[{"category": "AuditEvent","enabled": true}]' --metrics '[{"category": "AllMetrics","enabled": true}]'

Facoltativamente, è possibile impostare un criterio di conservazione per i log, in modo che i log meno recenti vengano eliminati automaticamente dopo un periodo di tempo specificato. Ad esempio, è possibile impostare un criterio di conservazione che elimina automaticamente i log più vecchi di 90 giorni.

Con l'interfaccia della riga di comando di Azure, usare il comando az monitor diagnostic-settings update.

az monitor diagnostic-settings update --name "Key vault retention policy" --resource "<key-vault-resource-id>" --set retentionPolicy.days=90

Accedere ai log

I log di Key Vault vengono archiviati nel contenitore insights-log-auditevent dell'account di archiviazione specificato. Per visualizzare i log, è necessario scaricare i BLOB.

Per prima cosa, elencare tutti i BLOB nel contenitore. Con l'interfaccia della riga di comando di Azure, usare il comando az storage blob list.

az storage blob list --account-name "<your-unique-storage-account-name>" --container-name "insights-logs-auditevent"

Con Azure PowerShell, usare Get-AzStorageBlob. Per elencare tutti i BLOB in questo contenitore, immettere:

Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context

Dall'output del comando dell'interfaccia della riga di comando di Azure o del cmdlet di Azure PowerShell si può notare che i nomi dei BLOB sono nel formato seguente: resourceId=<ARM resource ID>/y=<year>/m=<month>/d=<day of month>/h=<hour>/m=<minute>/filename.json. I valori di data e ora usano l'ora UTC.

Poiché è possibile usare lo stesso account di archiviazione per raccogliere i log per più risorse, l'ID completo della risorsa nel nome del BLOB è utile per accedere solo ai BLOB necessari o per scaricarli.

Prima di tutto, scaricare tutti i BLOB. Con l'interfaccia della riga di comando di Azure, usare il comando az storage blob download fornendo i nomi dei BLOB e il percorso del file in cui salvare i risultati.

az storage blob download --container-name "insights-logs-auditevent" --file <path-to-file> --name "<blob-name>" --account-name "<your-unique-storage-account-name>"

Con Azure PowerShell, usare il cmdlet Get-AzStorageBlob per ottenere un elenco dei BLOB. Fatto questo, inviare tramite pipe l'elenco al cmdlet Get-AzStorageBlobContent per scaricare i log nel percorso scelto.

$blobs = Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context | Get-AzStorageBlobContent -Destination "<path-to-file>"

Quando si esegue questo secondo cmdlet in PowerShell, il delimitatore / nei nomi dei BLOB crea una struttura di cartelle completa nella cartella di destinazione. Questa struttura verrà usata per scaricare e archiviare i BLOB come file.

Per scaricare BLOB in modo selettivo, usare caratteri jolly. Ad esempio:

  • Se sono disponibili più insiemi di credenziali delle chiavi e si vogliono scaricare i log per un solo insieme di credenziali delle chiavi denominato CONTOSOKEYVAULT3, usare:

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/VAULTS/CONTOSOKEYVAULT3
    
  • Se sono disponibili più gruppi di risorse e si vogliono scaricare i log per un solo gruppo di risorse, usare -Blob '*/RESOURCEGROUPS/<resource group name>/*':

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/RESOURCEGROUPS/CONTOSORESOURCEGROUP3/*'
    
  • Per scaricare tutti i log per il mese di gennaio 2019, usare -Blob '*/year=2019/m=01/*':

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/year=2016/m=01/*'
    

Usare i log di Monitoraggio di Azure

È possibile usare la soluzione Key Vault nei log di Monitoraggio di Azure per esaminare i log AuditEvent di Key Vault. Nei log di Monitoraggio di Azure è possibile usare le query di log per analizzare i dati e ottenere le informazioni necessarie. Per altre informazioni, vedere Monitoraggio di Key Vault.

Passaggi successivi