Erstellen von NSG-Datenflussprotokollen aus einer Azure Resource Manager-Vorlage

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 NSG-Datenflussprotokolle programmgesteuert mithilfe einer Azure Resource Manager-Vorlage und Azure PowerShell verwalten. Sie erfahren, wie Sie ein NSG-Flussprotokoll mithilfe des Azure-Portals, PowerShell, der Azure CLI oder der REST-API verwalten.

Eine Azure Resource Manager-Vorlage ist eine JavaScript Object Notation (JSON)-Datei, in der die Infrastruktur und die Konfiguration für Ihr Projekt mittels deklarativer Syntax definiert sind.

Voraussetzungen

NSG-Flussprotokollobjekt

Das NSG-Datenflussprotokollobjekt mit allen Parametern wird im folgenden Beispiel dargestellt. Eine umfassende Übersicht über die Objekteigenschaften finden Sie in der Vorlagenreferenz zu NSG-Datenflussprotokollen.

{
  "name": "string",
  "type": "Microsoft.Network/networkWatchers/flowLogs",
  "location": "string",
  "apiVersion": "2022-07-01",
  "properties": {
    "targetResourceId": "string",
    "storageId": "string",
    "enabled": "boolean",
    "flowAnalyticsConfiguration": {
      "networkWatcherFlowAnalyticsConfiguration": {
         "enabled": "boolean",
         "workspaceResourceId": "string",
          "trafficAnalyticsInterval": "integer"
        },
        "retentionPolicy": {
           "days": "integer",
           "enabled": "boolean"
         },
        "format": {
           "type": "string",
           "version": "integer"
         }
      }
    }
  }

Fügen Sie zum Erstellen einer Ressource vom Typ Microsoft.Network/networkWatchers/flowLogs dem Abschnitt „resources“ Ihrer Vorlage den obigen JSON-Code hinzu.

Erstellen der Vorlage

Weitere Informationen zur Verwendung von Azure Resource Manager-Vorlagen finden Sie unter:

Die folgenden Beispiele zeigen vollständige Vorlagen zum Aktivieren von NSG-Datenflussprotokollen.

Beispiel 1

Beispiel 1 verwendet die einfachste Version der ARM-Vorlage mit der Mindestanzahl an übergebenen Parametern. Mit der folgenden Vorlage werden NSG-Datenflussprotokolle in einer Zielnetzwerksicherheitsgruppe aktiviert und in einem angegebenen Speicherkonto gespeichert.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "apiProfile": "2019-09-01",
  "resources": [
 {
    "name": "myNSG-myresourcegroup-flowlog",
    "type": "Microsoft.Network/networkWatchers/FlowLogs/",
    "location": "eastus",
    "apiVersion": "2022-11-01",
    "properties": {
      "targetResourceId": "/subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNSG",
      "storageId": "/subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
      "enabled": true,
      "flowAnalyticsConfiguration": {},
      "retentionPolicy": {},
      "format": {}
    }

  }
  ]
}

Hinweis

  • targetResourceId ist die Ressourcen-ID der Zielnetzwerksicherheitsgruppe.
  • storageId ist die Ressourcen-ID des Zielspeicherkontos.

Beispiel 2

Beispiel 2 verwendet die folgende Vorlage, um NSG-Datenflussprotokolle (Version 2) mit einer Aufbewahrungsdauer von 5 Tagen und mit Datenverkehrsanalysen mit einem Verarbeitungsintervall von 10 Minuten zu aktivieren.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "apiProfile": "2019-09-01",
  "resources": [
    {
      "name": "myNSG-myresourcegroup-flowlog",
      "type": "Microsoft.Network/networkWatchers/FlowLogs/",
      "location": "eastus",
      "apiVersion": "2022-11-01",
      "properties": {
        "targetResourceId": "/subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNSG",
        "storageId": "/subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
        "enabled": true,
        "flowAnalyticsConfiguration": {
          "networkWatcherFlowAnalyticsConfiguration": {
            "enabled": true,
            "workspaceResourceId": "/subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/defaultresourcegroup-eus/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-abcdef01-2345-6789-0abc-def012345678-EUS",
            "trafficAnalyticsInterval": 10
          }
        },
        "retentionPolicy": {
          "days": 5,
          "enabled": true
        },
        "format": {
          "type": "JSON",
          "version": 2
        }
      }
    }
  ]
}

Hinweis

  • targetResourceId ist die Ressourcen-ID der Zielnetzwerksicherheitsgruppe.
  • storageId ist die Ressourcen-ID des Zielspeicherkontos.
  • workspaceResourceId ist die Ressourcen-ID des Arbeitsbereichs der Datenverkehrsanalysen.

Stellen Sie Ihre Azure Resource Manager-Vorlage bereit.

In diesem Tutorial wird davon ausgegangen, dass Sie über eine Ressourcengruppe und eine Netzwerksicherheitsgruppe verfügen, in der Sie die Datenflussprotokollierung aktivieren können. Sie können jede der oben aufgeführten Beispielvorlagen lokal als azuredeploy.json speichern. Aktualisieren Sie die Eigenschaftswerte so, dass sie auf gültige Ressourcen in Ihrem Abonnement verweisen.

Führen Sie den folgenden Befehl in PowerShell aus, um die Vorlage bereitzustellen.

$context = Get-AzSubscription -SubscriptionId <SubscriptionId>
Set-AzContext $context
New-AzResourceGroupDeployment -Name EnableFlowLog -ResourceGroupName NetworkWatcherRG `
    -TemplateFile "C:\MyTemplates\azuredeploy.json"

Hinweis

Mit den vorigen Befehlen wird eine Ressource für die Ressourcengruppe NetworkWatcherRG bereitgestellt und nicht für die Ressourcengruppe, die die Netzwerksicherheitsgruppe enthält.

Überprüfen Ihrer Bereitstellung

Für die Überprüfung, ob die Bereitstellung erfolgreich war, gibt es mehrere Möglichkeiten. In Ihrer PowerShell-Konsole sollte „ProvisioningState“ als „erfolgreich“ angezeigt werden. Darüber hinaus können Sie die Änderungen auf der Portalseite für Datenflussprotokolle bestätigen. Falls bei der Bereitstellung Probleme aufgetreten sind, lesen Sie den Artikel Beheben gängiger Azure-Bereitstellungsfehler mit Azure Resource Manager.

Ressourcen löschen

Azure ermöglicht das Löschen von Ressourcen über den Bereitstellungsmodus Vollständig. Zum Löschen einer Ressource des Datenflussprotokolls geben Sie eine Bereitstellung im Modus „Vollständig“ ohne Angabe der zu löschenden Ressource an. Weitere Informationen finden Sie unter Bereitstellungsmodus „Vollständig“.

Nächste Schritte