Protokollierung für verwaltete HSMs

Nachdem Sie mindestens ein verwaltetes HSM erstellt haben, möchten Sie wahrscheinlich überwachen, wie, wann und von wem auf Ihre HSMs zugegriffen wird. Hierzu können Sie die Protokollierung aktivieren, um Informationen im von Ihnen angegebenen Azure-Speicherkonto zu speichern. Für Ihr angegebenes Speicherkonto wird automatisch ein neuer Container namens insights-logs-logs-auditevent erstellt. Das gleiche Speicherkonto kann verwendet werden, um Protokolle für mehrere verwaltete HSMs zu sammeln.

Sie können auf Ihre Protokollinformationen (spätestens) zehn Minuten nach dem Vorgang des verwalteten HSM zugreifen. In den meisten Fällen geht es aber schneller. Die Verwaltung der Protokolle im Speicherkonto ist Ihre Aufgabe:

  • Verwenden Sie zum Schutz Ihrer Protokolle standardmäßige Azure-Zugriffssteuerungsmethoden, indem Sie den Zugriff auf diese auf bestimmte Benutzer beschränken.
  • Löschen Sie Protokolle, die im Speicherkonto nicht mehr aufbewahrt werden sollen.

Dieses Tutorial unterstützt Sie bei den ersten Schritten mit der Protokollierung für verwaltete HSMs. Sie erstellen ein Speicherkonto, aktivieren die Protokollierung und interpretieren die erfassten Protokollinformationen.

Hinweis

Dieses Tutorial enthält keine Anleitung für die Erstellung von verwalteten HSMs oder Schlüsseln. Dieser Artikel enthält Azure CLI-Anweisungen zum Aktualisieren der Diagnoseprotokollierung.

Voraussetzungen

Damit Sie die in diesem Artikel aufgeführten Schritte ausführen können, benötigen Sie Folgendes:

Azure Cloud Shell

Azure hostet Azure Cloud Shell, eine interaktive Shell-Umgebung, die Sie über Ihren Browser nutzen können. Sie können entweder Bash oder PowerShell mit Cloud Shell verwenden, um mit Azure-Diensten zu arbeiten. Sie können die vorinstallierten Befehle von Cloud Shell verwenden, um den Code in diesem Artikel auszuführen, ohne etwas in Ihrer lokalen Umgebung installieren zu müssen.

Starten von Azure Cloud Shell:

Option Beispiel/Link
Wählen Sie rechts oben in einem Code- oder Befehlsblock die Option Ausprobieren aus. Durch die Auswahl von Ausprobieren wird der Code oder Befehl nicht automatisch in Cloud Shell kopiert. Screenshot: Beispiel von „Jetzt testen“ für Azure Cloud Shell.
Rufen Sie https://shell.azure.com auf, oder klicken Sie auf die Schaltfläche Cloud Shell starten, um Cloud Shell im Browser zu öffnen. Schaltfläche zum Starten von Azure Cloud Shell.
Wählen Sie im Azure-Portal rechts oben im Menü die Schaltfläche Cloud Shell aus. Screenshot: Schaltfläche „Cloud Shell“ im Azure-Portal

So verwenden Sie Azure Cloud Shell:

  1. Starten Sie Cloud Shell.

  2. Wählen Sie die Schaltfläche Kopieren für einen Codeblock (oder Befehlsblock) aus, um den Code oder Befehl zu kopieren.

  3. Fügen Sie den Code oder Befehl mit STRG+UMSCHALT+V unter Windows und Linux oder CMD+UMSCHALT+V unter macOS in die Cloud Shell-Sitzung ein.

  4. Drücken Sie die EINGABETASTE, um den Code oder Befehl auszuführen.

Verbinden mit Ihrem Azure-Abonnement

Der erste Schritt bei der Einrichtung der Schlüsselprotokollierung besteht darin, die Azure-Befehlszeilenschnittstelle auf das verwaltete HSM zu verweisen, das Sie protokollieren möchten.

az login

Weitere Informationen zu den Anmeldeoptionen für die Befehlszeilenschnittstelle finden Sie unter Anmelden mit Azure CLI.

Möglicherweise müssen Sie das Abonnement angeben, mit dem Sie Ihr verwaltetes HSM erstellt haben. Geben Sie den folgenden Befehl ein, um die Abonnements für Ihr Konto anzuzeigen:

Angeben des verwalteten HSM und des Speicherkontos

hsmresource=$(az keyvault show --hsm-name ContosoMHSM --query id -o tsv)
storageresource=$(az storage account show --name ContosoMHSMLogs --query id -o tsv)

Aktivieren der Protokollierung

Verwenden Sie zum Aktivieren der Protokollierung für das verwaltete HSM den Befehl az monitor diagnostic-settings create mit den Variablen, die für das neue Speicherkonto und das verwaltete HSM erstellt wurden. Legen Sie außerdem das Flag -Enabled auf $true und die Kategorie auf AuditEvent (einzige Kategorie für die Protokollierung für verwaltete HSMs) fest:

Diese Ausgabe bestätigt, dass die Protokollierung für Ihr verwaltetes HSM nun aktiviert ist und Informationen in Ihrem Speicherkonto gespeichert werden.

Optional können Sie eine Aufbewahrungsrichtlinie für Ihre Protokolle festlegen, mit der ältere Protokolle automatisch gelöscht werden. Richten Sie die Aufbewahrungsrichtlinie z. B. wie folgt ein: Legen Sie das Flag -RetentionEnabled auf $true und den Parameter -RetentionInDays auf 90 fest, sodass Protokolle, die älter sind als 90 Tage, automatisch gelöscht werden.

az monitor diagnostic-settings create --name ContosoMHSM-Diagnostics --resource $hsmresource --logs '[{"category": "AuditEvent","enabled": true}]' --storage-account $storageresource

Protokollierte Daten:

  • Alle authentifizierten REST-API-Anforderungen, z. B. auch Anforderungen, die aufgrund von Zugriffsberechtigungen, Systemfehlern, Firewall-Blockierungen oder ungültigen Anforderungen nicht erfolgreich sind.
  • Vorgänge auf der verwalteten Ebene für die eigentliche verwaltete HSM-Ressource – einschließlich Erstellung, Löschung und Aktualisierung von Attributen (beispielsweise Tags)
  • Vorgänge im Zusammenhang mit der Sicherheitsdomäne wie Initialisieren und Herunterladen, Initialisieren der Wiederherstellung oder Hochladen
  • Vollständige Sicherung, vollständige Wiederherstellung und selektive Wiederherstellung für das HSM
  • Rollenverwaltungsvorgänge, etwa Erstellen/Anzeigen/Löschen von Rollenzuweisungen und Erstellen/Anzeigen/Löschen von benutzerdefinierten Rollendefinitionen
  • Vorgänge für Schlüssel. Beispielsweise:
    • Erstellen, Ändern oder Löschen der Schlüssel
    • Signieren, Überprüfen, Verschlüsseln, Entschlüsseln, Packen und Entpacken von Schlüsseln sowie Auflisten von Schlüsseln
    • Sichern, Wiederherstellen und Bereinigen von Schlüsseln
    • Schlüsselrelease
  • Ungültige Pfade, die zu einer 404-Antwort führen.

Zugreifen auf Ihre Protokolle

Protokolle für verwaltete HSMs werden im Container insights-logs-auditevent im von Ihnen angegebenen Speicherkonto gespeichert. Zur Anzeige der Protokolle müssen Sie Blobs herunterladen. Weitere Informationen zu Azure Storage finden Sie unter Schnellstart: Erstellen, Herunterladen und Auflisten von Blobs mit der Azure-Befehlszeilenschnittstelle.

Einzelne Blobs werden als Text im JSON-Format gespeichert. Schauen wir uns einen Beispielprotokolleintrag an. Das folgende Beispiel zeigt den Protokolleintrag, der erstellt wird, wenn eine Anforderung zum Erstellen einer vollständigen Sicherung an das verwaltete HSM gesendet wird:

[
  {
    "TenantId": "{tenant-id}",
    "time": "2020-08-31T19:52:39.763Z",
    "resourceId": "/SUBSCRIPTIONS/{subscription-id}/RESOURCEGROUPS/CONTOSORESOURCEGROUP/PROVIDERS/MICROSOFT.KEYVAULT/MANAGEDHSMS/CONTOSOMHSM",
    "operationName": "BackupCreate",
    "operationVersion": "7.0",
    "category": "AuditEvent",
    "resultType": "Success",
    "properties": {
        "PoolType": "M-HSM",
        "sku_Family": "B",
        "sku_Name": "Standard_B1"
    },
    "durationMs": 488,
    "callerIpAddress": "X.X.X.X",
    "identity": "{\"claim\":{\"appid\":\"{application-id}\",\"http_schemas_microsoft_com_identity\":{\"claims\":{\"objectidentifier\":\"{object-id}\"}},\"http_schemas_xmlsoap_org_ws_2005_05_identity\":{\"claims\":{\"upn\":\"admin@contoso.com\"}}}}",
    "clientInfo": "azsdk-python-core/1.7.0 Python/3.8.2 (Linux-4.19.84-microsoft-standard-x86_64-with-glibc2.29) azsdk-python-azure-keyvault/7.2",
    "correlationId": "8806614c-ebc3-11ea-9e9b-00155db778ad",
    "subnetId": "(unknown)",
    "httpStatusCode": 202,
    "PoolName": "mhsmdemo",
    "requestUri": "https://ContosoMHSM.managedhsm.azure.net/backup",
    "resourceGroup": "ContosoResourceGroup",
    "resourceProvider": "MICROSOFT.KEYVAULT",
    "resource": "ContosoMHSM",
    "resourceType": "managedHSMs"
  }
]

Nächste Schritte