Freigeben über


Aktivieren der Protokollierung in Key Vault

Nachdem Sie einen oder mehrere Schlüsseltresor erstellt haben, sollten Sie wahrscheinlich überwachen, wie und wann auf Ihre Schlüsseltresor zugegriffen wird und von wem. Ausführliche Informationen zum Feature finden Sie unter Azure Key Vault-Protokollierung.

Was protokolliert wird:

  • Alle authentifizierten REST-API-Anforderungen, einschließlich fehlgeschlagener Anforderungen aufgrund von Zugriffsberechtigungen, Systemfehlern oder fehlerhaften Anforderungen.
  • Vorgänge im Schlüsseltresor selbst, einschließlich Erstellung, Löschen, Festlegen von Zugriffsrichtlinien für den Schlüsseltresor und Aktualisieren von Schlüsseltresorattributen wie Tags.
  • Vorgänge mit Schlüsseln und Geheimnissen im Schlüsseltresor, einschließlich:
    • Erstellen, Ändern oder Löschen dieser Schlüssel oder geheimer Schlüssel.
    • Signieren, Verifizieren, Verschlüsseln, Entschlüsseln, Ver- und Entpacken von Schlüsseln, Erhalten von Geheimnissen und Auflisten von Schlüsseln und Geheimnissen (und deren Versionen).
  • Nicht authentifizierte Anforderungen, die zu einer 401-Antwort führen. Beispiele sind Anforderungen, bei denen ein Bearertoken fehlt, fehlerhaft oder abgelaufen ist oder die ein ungültiges Token enthalten.
  • Azure Event Grid-Benachrichtigungsereignisse für die folgenden Bedingungen: abgelaufen, demnächst ablaufend und geänderte Tresorzugriffsrichtlinie (das Ereignis einer neuen Version wird nicht protokolliert). Ereignisse werden auch dann protokolliert, wenn im Key Vault ein Ereignisabonnement erstellt wurde. Weitere Informationen finden Sie unter Azure Key Vault als Ereignisrasterquelle.

Voraussetzungen

Um dieses Lernprogramm abzuschließen, benötigen Sie einen Azure Key Vault. Sie können ein neues Key Vault mit einer der folgenden Methoden erstellen:

Sie benötigen auch ein Ziel für Ihre Protokolle. Das Ziel kann ein vorhandenes oder neues Azure-Speicherkonto und/oder Log Analytics-Arbeitsbereich sein.

Sie können ein neues Azure-Speicherkonto mit einer der folgenden Methoden erstellen:

Sie können einen neuen Log Analytics-Arbeitsbereich mit einer der folgenden Methoden erstellen:

Herstellen einer Verbindung mit Ihrem Key Vault-Abonnement

Der erste Schritt beim Einrichten der Schlüsselprotokollierung besteht darin, eine Verbindung mit dem Abonnement herzustellen, das Ihren Schlüsseltresor enthält, wenn Sie über mehrere Abonnements verfügen, die Ihrem Konto zugeordnet sind.

Mit der Azure CLI können Sie alle Ihre Abonnements anzeigen, indem Sie den Befehl "az-Kontoliste " verwenden. Anschließend stellen Sie eine Verbindung mit einem Konto her, indem Sie den Befehl "az account set " verwenden:

az account list

az account set --subscription "<subscriptionID>"

Mit Azure PowerShell können Sie Ihre Abonnements zuerst mithilfe des Cmdlets "Get-AzSubscription " auflisten. Anschließend stellen Sie mit dem Cmdlet Set-AzContext eine Verbindung her.

Get-AzSubscription

Set-AzContext -SubscriptionId "<subscriptionID>"

Abrufen von Ressourcen-IDs

Um die Protokollierung für einen Schlüsseltresor zu aktivieren, benötigen Sie die Ressourcen-ID des Schlüsseltresors sowie die des Ziels (Azure Storage- oder Log Analytics-Konto).

Wenn Sie sich den Namen Ihres Schlüsseltresors nicht merken können, können Sie den Azure CLI az keyvault list command oder das Azure PowerShell Get-AzKeyVault-Cmdlet verwenden, um ihn zu finden.

Verwenden Sie den Namen Ihres Schlüsseltresors, um nach seiner Ressourcen-ID zu suchen. Verwenden Sie mit der Azure CLI den Befehl "az keyvault show" .

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

Verwenden Sie mit Azure PowerShell das Cmdlet "Get-AzKeyVault ".

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

Die Ressourcen-ID für Ihren Schlüsseltresor weist das folgende Format auf: /subscriptions/Ihre-Abonnement-ID/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/Ihr-eindeutiger-Schlüsseltresorname. Beachten Sie ihn für den nächsten Schritt.

Aktivieren der Protokollierung

Sie können die Protokollierung für Key Vault mithilfe der Azure CLI, Azure PowerShell oder des Azure-Portals aktivieren.

Azure CLI

Verwenden Sie den Azure CLI-Befehl az monitor diagnostic-settings create mit der Speicherkonto-ID und der Ressourcen-ID für den Schlüsseltresor wie folgt:

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

Optional können Sie eine Aufbewahrungsrichtlinie für Ihre Protokolle festlegen, sodass ältere Protokolle nach einer bestimmten Zeitspanne automatisch gelöscht werden. Sie können beispielsweise eine Aufbewahrungsrichtlinie festlegen, die Protokolle automatisch löscht, die älter als 90 Tage sind.

Verwenden Sie mit der Azure CLI den Befehl az monitor diagnostic-settings update.

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

Zugreifen auf Ihre Protokolle

Ihre Key Vault-Protokolle befinden sich im Insights-logs-auditevent-Container im von Ihnen bereitgestellten Speicherkonto. Zur Anzeige der Protokolle müssen Sie Blobs herunterladen.

Listen Sie zunächst alle Blobs im Container auf. Verwenden Sie mit der Azure CLI den Befehl "az storage blob list" .

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

Verwenden Sie mit Azure PowerShell Get-AzStorageBlob. Wenn Sie alle Blobs in diesem Container auflisten möchten, geben Sie Folgendes ein:

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

Aus der Ausgabe des Azure CLI-Befehls oder des Azure PowerShell-Cmdlets können Sie sehen, dass die Namen der Blobs im folgenden Format vorliegen: resourceId=<ARM resource ID>/y=<year>/m=<month>/d=<day of month>/h=<hour>/m=<minute>/filename.json Die Datums- und Uhrzeitwerte verwenden koordinierte Weltzeit.

Da Sie dasselbe Speicherkonto zum Sammeln von Protokollen für mehrere Ressourcen verwenden können, ist die vollständige Ressourcen-ID im Blobnamen hilfreich, um nur auf die benötigten Blobs zuzugreifen oder herunterzuladen.

Doch laden Sie zunächst alle Blobs herunter. Verwenden Sie mit der Azure CLI den Befehl "az storage blob download ", übergeben Sie ihn an die Namen der Blobs und den Pfad zu der Datei, in der Sie die Ergebnisse speichern möchten.

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

Verwenden Sie mit Azure PowerShell das Cmdlet "Get-AzStorageBlob ", um eine Liste der Blobs abzurufen. Übergeben Sie dann diese Liste an das Cmdlet "Get-AzStorageBlobContent ", um die Protokolle in Ihren ausgewählten Pfad herunterzuladen.

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

Wenn Sie dieses zweite Cmdlet in PowerShell ausführen, erstellt das / Trennzeichen in den Blobnamen eine vollständige Ordnerstruktur unter dem Zielordner. Sie verwenden diese Struktur, um die Blobs als Dateien herunterzuladen und zu speichern.

Um Blobs selektiv herunterzuladen, verwenden Sie Wildcards. Beispiel:

  • Wenn Sie über mehrere Schlüsseltresor verfügen und Protokolle nur für einen Schlüsseltresor herunterladen möchten, der CONTOSOKEYVAULT3 heißt:

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/VAULTS/CONTOSOKEYVAULT3
    
  • Wenn Sie über mehrere Ressourcengruppen verfügen und Protokolle nur für eine Ressourcengruppe herunterladen möchten, verwenden Sie -Blob '*/RESOURCEGROUPS/<resource group name>/*'Folgendes:

    Get-AzStorageBlob -Container "insights-logs-auditevent" -Context $sa.Context -Blob '*/RESOURCEGROUPS/CONTOSORESOURCEGROUP3/*'
    
  • Wenn Sie alle Protokolle für den Monat Januar 2019 herunterladen möchten, verwenden Sie -Blob '*/year=2019/m=01/*':

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

Verwenden von Azure Monitor-Protokollen

Sie können die Key Vault-Lösung in Azure Monitor-Protokollen verwenden, um Key Vault-Protokolle AuditEvent zu überprüfen. In Azure Monitor-Protokollen verwenden Sie Protokollabfragen, um Daten zu analysieren und die benötigten Informationen zu erhalten. Weitere Informationen finden Sie unter Monitoring Key Vault.

Nächste Schritte

  • Konzeptionelle Informationen, einschließlich der Interpretation von Key Vault-Protokollen, finden Sie unter Key Vault-Protokollierung.
  • Weitere Informationen zur Verwendung von Azure Monitor für Ihren Schlüsseltresor finden Sie unter Monitoring Key Vault.