Aktivera Key Vault loggning

När du har skapat ett eller flera nyckelvalv vill du förmodligen övervaka hur och när dina nyckelvalv används och av vem. Fullständig information om funktionen finns i Azure Key Vault loggning.

Vad loggas:

  • Alla autentiserade REST API-begäranden, inklusive misslyckade begäranden till följd av åtkomstbehörigheter, systemfel eller felaktiga begäranden.
  • Åtgärder i själva nyckelvalvet, inklusive skapande, borttagning, inställning av åtkomstprinciper för nyckelvalv och uppdatering av nyckelvalvsattribut, till exempel taggar.
  • Åtgärder för nycklar och hemligheter i nyckelvalvet, inklusive:
    • Skapa, ändra eller ta bort dessa nycklar eller hemligheter.
    • Signera, verifiera, kryptera, dekryptera, omsluta och ta bort nycklar, hämta hemligheter och lista nycklar och hemligheter (och deras versioner).
  • Oautentiserade förfrågningar som resulterar i ett 401-svar. Exempel är begäranden som saknar en ägartoken, som är felaktiga eller har upphört att gälla eller som har en ogiltig token.
  • Azure Event Grid meddelandehändelser för följande villkor: förfallodatum, nära utgångsdatum och ändrad åtkomstprincip för valv (den nya versionshändelsen loggas inte). Händelser loggas även om en händelseprenumeration har skapats i nyckelvalvet. Mer information finns i Azure Key Vault som Event Grid-källa.

Förutsättningar

För att slutföra den här självstudien behöver du ett Azure-nyckelvalv. Du kan skapa ett nytt nyckelvalv med någon av följande metoder:

Du behöver också ett mål för dina loggar. Målet kan vara ett befintligt eller nytt Azure-lagringskonto och/eller En Log Analytics-arbetsyta.

Du kan skapa ett nytt Azure Storage-konto med någon av följande metoder:

Du kan skapa en ny Log Analytics-arbetsyta med någon av följande metoder:

Ansluta till din Key Vault-prenumeration

Det första steget i att konfigurera nyckelloggning är att ansluta till prenumerationen som innehåller ditt nyckelvalv, om du har flera prenumerationer associerade med ditt konto.

Med Azure CLI kan du visa alla dina prenumerationer med kommandot az account list . Sedan ansluter du till en med kommandot az account set :

az account list

az account set --subscription "<subscriptionID>"

Med Azure PowerShell kan du först lista dina prenumerationer med hjälp av cmdleten Get-AzSubscription. Sedan ansluter du till en med hjälp av cmdleten Set-AzContext :

Get-AzSubscription

Set-AzContext -SubscriptionId "<subscriptionID>"

Hämta resurs-ID:t

Om du vill aktivera loggning på ett nyckelvalv behöver du resurs-ID:t för nyckelvalvet och målet (Azure Storage- eller Log Analytics-konto).

Om du inte kommer ihåg namnet på ditt nyckelvalv kan du använda kommandot Azure CLI az keyvault list eller cmdleten Azure PowerShell Get-AzKeyVault för att hitta det.

Använd namnet på ditt nyckelvalv för att hitta dess resurs-ID. Med Azure CLI använder du kommandot az keyvault show .

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

Använd cmdleten Get-AzKeyVault med Azure PowerShell.

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

Resurs-ID:t för ditt nyckelvalv har följande format: "/subscriptions/your-subscription-ID/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/your-unique-keyvault-name. Observera det för nästa steg.

Aktivera loggning

Du kan aktivera loggning för Key Vault med hjälp av Azure CLI, Azure PowerShell eller Azure Portal.

Azure CLI

Använd kommandot Azure CLI az monitor diagnostic-settings create , lagringskontots ID och resurs-ID:t för nyckelvalvet enligt följande:

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}]'

Du kan också ange en kvarhållningsprincip för dina loggar så att äldre loggar tas bort automatiskt efter en angiven tidsperiod. Du kan till exempel ange en kvarhållningsprincip som automatiskt tar bort loggar som är äldre än 90 dagar.

Med Azure CLI använder du kommandot az monitor diagnostic-settings update .

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

Komma åt loggarna

Dina Key Vault loggar finns i containern insights-logs-auditevent i lagringskontot som du angav. Om du vill visa loggarna måste du ladda ned blobar.

Börja med att lista alla blobar i containern. Med Azure CLI använder du kommandot az storage blob list .

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

Använd Get-AzStorageBlob med Azure PowerShell. Om du vill visa en lista över alla blobar i den här containern anger du:

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

Från utdata från antingen Azure CLI-kommandot eller cmdleten Azure PowerShell kan du se att namnen på blobarna har följande format: resourceId=<ARM resource ID>/y=<year>/m=<month>/d=<day of month>/h=<hour>/m=<minute>/filename.json. Datum- och tidsvärdena använder Coordinated Universal Time.

Eftersom du kan använda samma lagringskonto för att samla in loggar för flera resurser är det fullständiga resurs-ID:t i blobnamnet användbart för att komma åt eller ladda ned bara de blobar som du behöver.

Men först laddar du ned alla blobar. Med Azure CLI använder du kommandot az storage blob download , skickar namnen på blobarna och sökvägen till filen där du vill spara resultatet.

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

Med Azure PowerShell använder du cmdleten Get-AzStorageBlob för att hämta en lista över blobarna. Skicka sedan listan till cmdleten Get-AzStorageBlobContent för att ladda ned loggarna till den valda sökvägen.

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

När du kör den här andra cmdleten i PowerShell skapar / avgränsare i blobnamnen en fullständig mappstruktur under målmappen. Du använder den här strukturen för att ladda ned och lagra blobarna som filer.

Om du vill ladda ned blobbarna selektivt använder du jokertecken. Ett exempel:

  • Om du har flera nyckelvalv och bara vill hämta loggar för ett av dem, mer specifikt nyckelvalvet CONTOSOKEYVAULT3:

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/VAULTS/CONTOSOKEYVAULT3
    
  • Om du har flera resursgrupper och bara vill hämta loggar för en av dem använder du -Blob '*/RESOURCEGROUPS/<resource group name>/*':

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/RESOURCEGROUPS/CONTOSORESOURCEGROUP3/*'
    
  • Om du vill ladda ned alla loggar för januari 2019 använder du -Blob '*/year=2019/m=01/*':

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

Använda Azure Monitor-loggar

Du kan använda Key Vault-lösningen i Azure Monitor-loggar för att granska Key Vault AuditEvent loggar. I Azure Monitor-loggarna använder du loggfrågor till att analysera data och hämta den information du behöver. Mer information finns i Övervakning Key Vault.

Nästa steg