Abilitare la registrazione 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.
Cosa viene registrato:
- 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. Esempi sono le richieste che non dispongono di un token di connessione, sono in formato non valido o scaduto o hanno un token non valido.
- Griglia di eventi di Azure eventi di notifica per le condizioni seguenti: scaduti, prossimi alla scadenza e criteri di accesso all'insieme di credenziali modificati (il nuovo evento della versione non viene registrato). Gli eventi vengono registrati anche se è presente una sottoscrizione di eventi creata nell'insieme di credenziali delle chiavi. Per altre informazioni, vedere Azure Key Vault come origine di Griglia di eventi.
Prerequisiti
Per completare questa esercitazione, è necessario un insieme di credenziali delle chiavi di Azure. È possibile creare un nuovo insieme di credenziali delle chiavi usando uno di questi metodi:
- Creare un insieme di credenziali delle chiavi usando l'interfaccia della riga di comando di Azure
- Creare un insieme di credenziali delle chiavi usando Azure PowerShell
- Creare un insieme di credenziali delle chiavi usando il portale di Azure
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 dei metodi seguenti:
- Creare un account di archiviazione usando l'interfaccia della riga di comando di Azure
- Creare un account di archiviazione usando Azure PowerShell
- Creare un account di archiviazione usando il portale di Azure
È possibile creare una nuova area di lavoro Log Analytics usando uno dei metodi seguenti:
- Creare un'area di lavoro Log Analytics con l'interfaccia della riga di comando di Azure
- Creare un'area di lavoro Log Analytics usando Azure PowerShell
- Creare un'area di lavoro Log Analytics nella portale di Azure
Connettersi alla sottoscrizione di Key Vault
Il primo passaggio per configurare la registrazione delle chiavi consiste nel connettersi alla sottoscrizione contenente l'insieme di credenziali delle chiavi, 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 . Connettersi quindi a uno usando il comando az account set :
az account list
az account set --subscription "<subscriptionID>"
Con Azure PowerShell, è prima possibile elencare le sottoscrizioni usando il cmdlet Get-AzSubscription. Connettersi quindi a uno usando il cmdlet Set-AzContext :
Get-AzSubscription
Set-AzContext -SubscriptionId "<subscriptionID>"
Ottenere gli ID risorsa
Per abilitare la registrazione in un insieme di credenziali delle chiavi, è necessario l'ID risorsa dell'insieme di credenziali delle chiavi e la destinazione (account di Archiviazione di Azure o Log Analytics).
Se non si ricorda il nome dell'insieme di credenziali delle chiavi, è possibile usare il comando az keyvault list dell'interfaccia della riga di comando di Azure o il cmdlet Azure PowerShell Get-AzKeyVault per trovarlo.
Usare il nome dell'insieme di credenziali delle chiavi per trovare il relativo ID 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 risorsa per l'insieme di credenziali delle chiavi è nel formato seguente: "/subscriptions/your-subscription-ID/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/your-unique-keyvault-name. Si noti per il passaggio successivo.
Abilitazione della registrazione
È possibile abilitare la registrazione per Key Vault usando 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 risorsa dell'insieme di credenziali delle chiavi, 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 precedenti a 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 Key Vault si trovano nel contenitore insights-logs-auditevent nell'account di archiviazione fornito. Per visualizzare i log, è necessario scaricare i BLOB.
In primo luogo, 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 Azure PowerShell, è possibile 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 Coordinated Universal Time.
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.
Ma prima scaricare tutti i BLOB. Con l'interfaccia della riga di comando di Azure usare il comando az storage BLOB download , passarlo ai nomi dei BLOB e al percorso del file in cui si vogliono 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. Inviare quindi tramite pipe tale 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 Key Vault.
Passaggi successivi
- Per informazioni concettuali, tra cui come interpretare i log di Key Vault, vedere Key Vault registrazione.
- Per altre informazioni sull'uso di Monitoraggio di Azure nell'insieme di credenziali delle chiavi, vedere Monitoraggio Key Vault.