Verwalten von NSG-Datenflussprotokollen mit der Azure CLI

Wichtig

Am 30. September 2027 werden NSG-Datenflussprotokolle (Netzwerksicherheitsgruppe) eingestellt. Aufgrund dieser Einstellung können Sie ab dem 30. Juni 2025 keine neuen NSG-Datenflussprotokolle mehr erstellen. Es wird empfohlen, zu Datenflussprotokollen für virtuelle Netzwerke zu migrieren, bei denen die Einschränkungen von NSG-Datenflussprotokollen nicht gelten. Nach dem Einstellungsdatum wird die Aktivierung der Datenverkehrsanalyse mit NSG-Datenflussprotokollen nicht mehr unterstützt, und vorhandene Ressourcen für NSG-Datenflussprotokolle in Ihren Abonnements werden gelöscht. NSG-Datenflussprotokolle werden jedoch nicht gelöscht, und es gelten weiterhin die jeweiligen Aufbewahrungsrichtlinien. Weitere Informationen finden Sie in der offiziellen Ankündigung.

Die Datenflussprotokollierung für Netzwerksicherheitsgruppen ist ein Feature von Azure Network Watcher, mit dem Sie Informationen zu IP-Datenverkehr protokollieren können, der eine Netzwerksicherheitsgruppe durchläuft. Weitere Informationen zur Datenflussprotokollierung für Netzwerksicherheitsgruppen finden Sie unter Übersicht über NSG-Datenflussprotokolle.

In diesem Artikel erfahren Sie, wie Sie mithilfe der Azure CLI ein NSG-Datenflussprotokoll erstellen, ändern, deaktivieren oder löschen. Sie erfahren, wie Sie ein NSG-Flussprotokoll mithilfe des Azure-Portals, PowerShell, der REST-API oder der ARM-Vorlage verwalten.

Voraussetzungen

  • Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.

  • Insights-Anbieter. Weitere Informationen finden Sie unter Registrieren von Insights-Anbietern.

  • Eine Netzwerksicherheitsgruppe Weitere Informationen zum Erstellen einer Netzwerksicherheitsgruppe finden Sie unter Erstellen, Ändern oder Löschen einer Netzwerksicherheitsgruppe.

  • Ein Azure-Speicherkonto. Informationen zum Erstellen eines Speicherkontos finden Sie unter Speicherkonto erstellen.

  • Azure Cloud Shell oder Azure CLI (lokal installiert).

    • In den Schritten diesem Artikel werden die Azure CLI-Befehle interaktiv in Azure Cloud Shell ausgeführt. Um die Befehle in Cloud Shell auszuführen, wählen Sie in der oberen rechten Ecke eines Codeblocks Cloud Shell öffnen aus. Wählen Sie Kopieren aus, um den Code zu kopieren und fügen Sie ihn in Cloud Shell ein, um ihn auszuführen. Sie können Azure Cloud Shell innerhalb des Azure-Portals starten.

    • Sie können die Azure CLI auch lokal installieren, um die Befehle auszuführen. Wenn Sie die Azure CLI lokal ausführen, melden Sie sich mit dem Befehl az login bei Azure an.

Registrieren von Insights-Anbietern

Der Microsoft.Insights-Anbieter muss registriert sein, um den Datenverkehr, der eine Netzwerksicherheitsgruppe durchläuft, erfolgreich protokollieren zu können. Wenn Sie nicht sicher sind, ob der Microsoft.Insights-Anbieter registriert ist, verwenden Sie az provider register, um ihn zu registrieren.

# Register Microsoft.Insights provider.
az provider register --namespace 'Microsoft.Insights'

Erstellen eines Datenflussprotokolls

Erstellen Sie mit az network watcher flow-log create ein Datenflussprotokoll. Das Datenflussprotokoll wird in der Network Watcher-Standardressourcengruppe NetworkWatcherRG erstellt.

# Create a version 1 NSG flow log.
az network watcher flow-log create --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount'

Hinweis

  • Wenn das Speicherkonto sich in einem anderen Abonnement befindet, müssen die Netzwerksicherheitsgruppe und das Speicherkonto demselben Azure Active Directory-Mandanten zugeordnet sein. Die für die beiden Abonnements verwendeten Konten müssen über die erforderlichen Berechtigungen verfügen.
  • Wenn sich das Speicherkonto in einer anderen Ressourcengruppe oder einem anderen Abonnement befindet, müssen Sie statt des reinen Namens die vollständige ID des Speicherkontos angeben. Wenn sich beispielsweise das Speicherkonto myStorageAccount in einer Ressourcengruppe namens StorageRG, die Netzwerksicherheitsgruppe hingegen in der Ressourcengruppe myResourceGroup befindet, müssen Sie anstelle von myStorageAccount den Wert /subscriptions/{SubscriptionID}/resourceGroups/RG-Storage/providers/Microsoft.Storage/storageAccounts/myStorageAccount für den Parameter --storage-account verwenden.
# Place the storage account resource ID into a variable.
sa=$(az storage account show --name 'myStorageAccount' --query 'id' --output 'tsv')

# Create a version 1 NSG flow log (the storage account is in a different resource group).
az network watcher flow-log create --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account $sa

Erstellen eines Datenflussprotokolls und eines Arbeitsbereichs für die Datenverkehrsanalyse

  1. Erstellen Sie mit az monitor log-analytics workspace create einen Log Analytics-Arbeitsbereich.

    # Create a Log Analytics workspace.
    az monitor log-analytics workspace create --name 'myWorkspace' --resource-group 'myResourceGroup'
    
  2. Erstellen Sie mit az network watcher flow-log create ein Datenflussprotokoll. Das Datenflussprotokoll wird in der Network Watcher-Standardressourcengruppe NetworkWatcherRG erstellt.

    # Create a version 1 NSG flow log and enable traffic analytics for it.
    az network watcher flow-log create --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --traffic-analytics 'true' --workspace 'myWorkspace'
    

Hinweis

  • Das Speicherkonto darf keine Netzwerkregeln aufweisen, die den Netzwerkzugriff nur auf Microsoft-Dienste oder bestimmte virtuelle Netzwerke beschränken.
  • Wenn das Speicherkonto sich in einem anderen Abonnement befindet, müssen die Netzwerksicherheitsgruppe und das Speicherkonto demselben Azure Active Directory-Mandanten zugeordnet sein. Die für die beiden Abonnements verwendeten Konten müssen über die erforderlichen Berechtigungen verfügen.
  • Wenn sich das Speicherkonto in einer anderen Ressourcengruppe oder einem anderen Abonnement befindet, muss die vollständige ID des Speicherkontos verwendet werden. Wenn sich beispielsweise das Speicherkonto myStorageAccount in einer Ressourcengruppe namens StorageRG, die Netzwerksicherheitsgruppe hingegen in der Ressourcengruppe myResourceGroup befindet, müssen Sie anstelle von myStorageAccount den Wert /subscriptions/{SubscriptionID}/resourceGroups/RG-Storage/providers/Microsoft.Storage/storageAccounts/myStorageAccount für den Parameter --storage-account verwenden.
# Place the storage account resource ID into a variable.
sa=$(az storage account show --name 'myStorageAccount' --query 'id' --output 'tsv')

# Create a Log Analytics workspace.
az monitor log-analytics workspace create --name 'myWorkspace' --resource-group 'myResourceGroup'

# Create a version 1 NSG flow log and enable traffic analytics for it (the storage account is in a different resource group).
az network watcher flow-log create --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account $sa --traffic-analytics 'true' --workspace 'myWorkspace'

Ändern eines Datenflussprotokolls

Sie können az network watcher flow-log update verwenden, um die Eigenschaften eines Datenflussprotokolls zu ändern. Beispielsweise können Sie die Version des Datenflussprotokolls ändern oder die Datenverkehrsanalyse deaktivieren.

# Update the flow log.
az network watcher flow-log update --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --traffic-analytics 'false' --log-version '2'

Auflisten aller Datenflussprotokolle in einer Region

Verwenden Sie az network watcher flow-log list, um alle NSG-Datenflussprotokoll-Ressourcen in einer bestimmten Region in Ihrem Abonnement aufzulisten.

# Get all NSG flow logs in East US region.
az network watcher flow-log list --location 'eastus' --out table

Anzeigen von Details einer Datenflussprotokollressource

Verwenden Sie az network watcher flow-log show, um Details zu einer Datenflussprotokoll-Ressource anzuzeigen.

# Get the details of a flow log.
az network watcher flow-log show --name 'myFlowLog' --resource-group 'NetworkWatcherRG' --location 'eastus'

Herunterladen eines Flowprotokolls

Bei der Erstellung wird der Speicherort eines Flowprotokolls definiert. Sie können Azure Storage-Explorer verwenden, um auf Datenflussprotokolle in Ihrem Speicherkonto zuzugreifen und diese herunterzuladen. Weitere Informationen finden Sie unter Erste Schritte mit Storage-Explorer.

NSG-Datenflussprotokoll-Dateien werden unter dem folgenden Pfad in einem Speicherkonto gespeichert:

https://{storageAccountName}.blob.core.windows.net/insights-logs-networksecuritygroupflowevent/resourceId=/SUBSCRIPTIONS/{subscriptionID}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/{NetworkSecurityGroupName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json

Informationen zur Struktur eines Datenflussprotokolls finden Sie unter Protokollformat von NSG-Datenflussprotokollen.

Deaktivieren eines Datenflussprotokolls

Verwenden Sie den Befehl az network watcher flow-log update, um ein Datenflussprotokoll vorübergehend zu deaktivieren, ohne es zu löschen. Durch das Deaktivieren eines Datenflussprotokolls wird die Datenflussprotokollierung für die zugeordnete Netzwerksicherheitsgruppe beendet. Die Datenflussprotokoll-Ressource bleibt jedoch mit all ihren Einstellungen und Zuordnungen erhalten. Sie können das Datenflussprotokoll jederzeit wieder aktivieren, um mit der Datenflussprotokollierung für die konfigurierte Netzwerksicherheitsgruppe fortzufahren.

Hinweis

Wenn die Datenverkehrsanalyse für ein Datenflussprotokoll aktiviert ist, muss sie deaktiviert werden, bevor Sie das Datenflussprotokoll deaktivieren können.

# Disable traffic analytics log if it's enabled.
az network watcher flow-log update --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --traffic-analytics 'false' --workspace 'myWorkspace'

# Disable the flow log.
az network watcher flow-log update --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --enabled 'false'

Löschen eines Datenflussprotokolls

Verwenden Sie den Befehl az network watcher flow-log delete, um ein Datenflussprotokoll endgültig zu löschen. Beim Löschen eines Datenflussprotokolls werden alle zugehörigen Einstellungen und Zuordnungen gelöscht. Wenn Sie für die gleiche Netzwerksicherheitsgruppe wieder mit der Datenflussprotokollierung beginnen möchten, muss eine neue Datenflussprotokoll-Ressource erstellt werden.

# Delete the flow log.
az network watcher flow-log delete --name 'myFlowLog' --location 'eastus' --no-wait 'true'

Hinweis

Beim Löschen eines Datenflussprotokolls werden die Daten des Datenflussprotokolls nicht aus dem Speicherkonto gelöscht. Für die Daten des Datenflussprotokolls, die im Speicherkonto gespeichert sind, gilt die konfigurierte Aufbewahrungsrichtlinie.