Logboekregistratie van Key Vault inschakelen

Nadat u een of meer sleutelkluizen hebt gemaakt, wilt u wellicht controleren hoe en wanneer uw sleutelkluizen toegankelijk zijn en voor wie. Zie Azure Key Vault logboekregistratie voor meer informatie over de functie.

Wat wordt vastgelegd:

  • Alle geverifieerde REST-API-aanvragen, ook mislukte aanvragen als gevolg van toegangsmachtigingen, systeemfouten of ongeldige aanvragen.
  • Bewerkingen voor de sleutelkluis zelf, zoals het maken, verwijderen en instellen van het toegangsbeleid voor sleutelkluizen, en het bijwerken van de kenmerken van sleutelkluizen, zoals tags.
  • Bewerkingen van sleutels en geheimen in de sleutelkluis, waaronder:
    • Het maken, wijzigen of verwijderen van die sleutels of geheimen.
    • Het ondertekenen, verifiëren, versleutelen, ontsleutelen, verpakken en uitpakken van sleutels, het ophalen van geheimen en het vermelden van sleutels en geheimen (en hun versies).
  • Niet-geverifieerde aanvragen die in een 401-respons resulteren. Voorbeelden daarvan zijn aanvragen die geen Bearer-token hebben, die ongeldig of verlopen zijn, of die een ongeldig token hebben.
  • Azure Event Grid meldingsgebeurtenissen voor de volgende voorwaarden: verlopen, bijna verlopen en gewijzigd toegangsbeleid voor de kluis (de nieuwe versiegebeurtenis wordt niet geregistreerd). Gebeurtenissen worden geregistreerd, zelfs als er een gebeurtenisabonnement is gemaakt in de sleutelkluis. Zie Azure Key Vault als Event Grid-bron voor meer informatie.

Vereisten

Voor het voltooien van deze zelfstudie hebt u het volgende nodig:

  • Een bestaande sleutelkluis die u hebt gebruikt.
  • Azure Cloud Shell - Bash-omgeving.
  • Voldoende opslagruimte op Azure voor uw Sleutelkluis-logboeken.

In dit artikel worden opdrachten opgemaakt voor Cloud Shell met Bash als omgeving.

Verbinding maken naar uw Key Vault-abonnement

De eerste stap bij het instellen van sleutellogboekregistratie is het maken van verbinding met het abonnement met uw sleutelkluis. Dit is vooral belangrijk als u meerdere abonnementen hebt gekoppeld aan uw account.

Met de Azure CLI kunt u al uw abonnementen weergeven met behulp van de opdracht az account list . Vervolgens maakt u verbinding met een account met behulp van de opdracht az account set :

az account list

az account set --subscription "<subscriptionID>"

Met Azure PowerShell kunt u eerst uw abonnementen vermelden met behulp van de Cmdlet Get-AzSubscription. Vervolgens maakt u verbinding met een verbinding met behulp van de set-AzContext-cmdlet :

Get-AzSubscription

Set-AzContext -SubscriptionId "<subscriptionID>"

Een opslagaccount voor uw logboeken maken

Hoewel u een bestaand opslagaccount voor uw logboeken kunt gebruiken, maakt u hier een nieuw opslagaccount dat is toegewezen aan Key Vault logboeken.

Voor extra beheergemak gebruikt u ook dezelfde resourcegroep als de resourcegroep die de sleutelkluis bevat. In de quickstart van Azure CLI en Azure PowerShell quickstart heeft deze resourcegroep de naam myResourceGroup en is de locatie eastus. Vervang deze waarden door uw eigen waarden, indien van toepassing.

U moet ook een opslagaccountnaam opgeven. Storage accountnamen moeten uniek zijn, tussen 3 en 24 tekens lang en mogen alleen cijfers en kleine letters worden gebruikt. Ten slotte maakt u een opslagaccount van de Standard_LRS SKU.

Gebruik met de Azure CLI de opdracht az storage account create .

az storage account create --name "<your-unique-storage-account-name>" -g "myResourceGroup" --sku "Standard_LRS"

Gebruik met Azure PowerShell de cmdlet New-AzStorageAccount. U moet de locatie opgeven die overeenkomt met de resourcegroep.

 New-AzStorageAccount -ResourceGroupName myResourceGroup -Name "<your-unique-storage-account-name>" -Type "Standard_LRS" -Location "eastus"

Noteer in beide gevallen de id van het opslagaccount. De Azure CLI-bewerking retourneert de id in de uitvoer. Als u de id met Azure PowerShell wilt ophalen, gebruikt u Get-AzStorageAccount en wijst u de uitvoer toe aan de variabele$sa. Vervolgens kunt u het opslagaccount met $sa.id. (De $sa.Context eigenschap wordt verderop in dit artikel ook gebruikt.)

$sa = Get-AzStorageAccount -Name "<your-unique-storage-account-name>" -ResourceGroup "myResourceGroup"
$sa.id

De id van het opslagaccount heeft de volgende indeling: "/subscriptions/your-subscription-ID/resourceGroups/myResourceGroup/providers/Microsoft. Storage/storageAccounts/your-unique-storage-account-name".

Notitie

Als u besluit een bestaand opslagaccount te gebruiken, moet dat hetzelfde abonnement gebruiken als uw sleutelkluis. Het moet het Azure Resource Manager-implementatiemodel gebruiken in plaats van het klassieke implementatiemodel.

Uw sleutelkluisresource-id verkrijgen

In de CLI-quickstart en PowerShell-quickstart hebt u een sleutel gemaakt met een unieke naam. Gebruik die naam opnieuw in de volgende stappen. Als u de naam van uw sleutelkluis niet meer weet, kunt u de opdracht Azure CLI az keyvault list of de Azure PowerShell Get-AzKeyVault-cmdlet gebruiken om deze weer te geven.

Gebruik de naam van uw sleutelkluis om de resource-id te vinden. Gebruik met de Azure CLI de opdracht az keyvault show .

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

Gebruik met Azure PowerShell de Cmdlet Get-AzKeyVault.

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

De resource-id voor uw sleutelkluis heeft de volgende indeling: "/subscriptions/your-subscription-ID/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/your-unique-keyvault-name. Noteer deze voor de volgende stap.

Logboekregistratie inschakelen

U kunt logboekregistratie voor Key Vault inschakelen met behulp van de Azure CLI, Azure PowerShell of de Azure Portal.

Azure CLI

Gebruik de azure CLI az monitor diagnostic-settings create command, the storage account ID en the key vault resource ID, als volgt:

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

U kunt desgewenst een bewaarbeleid instellen voor uw logboeken, zodat oudere logboeken na een opgegeven tijd automatisch worden verwijderd. U kunt bijvoorbeeld een bewaarbeleid instellen waarmee logboeken die ouder zijn dan 90 dagen automatisch worden verwijderd.

Gebruik met de Azure CLI de opdracht az monitor diagnostic-settings update .

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

Toegang tot uw logboeken

Uw Key Vault-logboeken bevinden zich in de container insights-logs-auditevent in het opslagaccount dat u hebt opgegeven. Als u de logboeken wilt bekijken, moet u blobs downloaden.

Geef eerst alle blobs in de container weer. Gebruik met de Azure CLI de opdracht az storage blob list .

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

Gebruik Met Azure PowerShell Get-AzStorageBlob. Als u alle blobs in deze container wilt weergeven, typt u:

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

In de uitvoer van de Azure CLI-opdracht of de Azure PowerShell-cmdlet ziet u dat de namen van de blobs de volgende indeling hebben: resourceId=<ARM resource ID>/y=<year>/m=<month>/d=<day of month>/h=<hour>/m=<minute>/filename.json De datum- en tijdwaarden gebruiken Coordinated Universal Time.

Aangezien u hetzelfde opslagaccount kunt gebruiken voor het verzamelen van logboeken voor meerdere resources, is de volledige resource-id in de blobnaam handig voor toegang tot of het downloaden van alleen de blobs die u nodig hebt.

Maar eerst downloadt u alle blobs. Gebruik met de Azure CLI de opdracht az storage blob download , geef deze de namen van de blobs door en het pad naar het bestand waar u de resultaten wilt opslaan.

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

Gebruik met Azure PowerShell de cmdlet Gt-AzStorageBlobs om een lijst met de blobs op te halen. Sluis die lijst vervolgens door naar de Get-AzStorageBlobContent-cmdlet om de logboeken te downloaden naar het gekozen pad.

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

Wanneer u deze tweede cmdlet uitvoert in PowerShell, maakt het / scheidingsteken in de blobnamen een volledige mapstructuur onder de doelmap. U gebruikt deze structuur voor het downloaden en opslaan van de blobs als bestanden.

Als u alleen specifieke blobs wilt downloaden, moet u jokertekens gebruiken. Bijvoorbeeld:

  • Als u meerdere sleutelkluizen hebt en het logboek voor slechts één sleutelkluis wilt downloaden met de naam CONTOSOKEYVAULT3:

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/VAULTS/CONTOSOKEYVAULT3
    
  • Als u meerdere resourcegroepen hebt en logboeken voor slechts één resourcegroep wilt downloaden, gebruikt u -Blob '*/RESOURCEGROUPS/<resource group name>/*':

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/RESOURCEGROUPS/CONTOSORESOURCEGROUP3/*'
    
  • Als u alle logboeken voor de maand januari 2019 wilt downloaden, gebruikt u -Blob '*/year=2019/m=01/*':

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

Azure Monitor-logboeken gebruiken

Met de Key Vault-oplossing in Azure Monitor-logboeken kunt u de AuditEvent-logboeken van Key Vault controleren. In Azure Monitor-logboeken kunt u logboekquery’s gebruiken om gegevens te analyseren en de informatie op te halen die u nodig hebt. Zie Bewaking Key Vault voor meer informatie.

Volgende stappen