Freigeben über


Schnellstart: Konfigurieren von NSG-Flussprotokollen mithilfe einer Azure Resource Manager (ARM)-Vorlage

Von Bedeutung

Die Ablaufprotokolle der Netzwerksicherheitsgruppe (Network Security Group, NSG) werden am 30. September 2027 eingestellt. Nach dem 30. Juni 2025 können Sie keine neuen NSG-Flussprotokolle mehr erstellen. Es wird empfohlen, zu virtuellen Netzwerkflussprotokollen zu migrieren, die die Einschränkungen von NSG-Flussprotokollen beheben. Nach dem Ausmusterungsdatum werden die für NSG-Flussprotokolle aktivierten Verkehrsanalysefunktionen nicht mehr unterstützt, und vorhandene NSG-Flussprotokollressourcen in Ihren Abonnements werden gelöscht. Vorhandene NSG-Ablaufprotokolldatensätze werden jedoch nicht aus Azure Storage gelöscht und folgen weiterhin ihren konfigurierten Aufbewahrungsrichtlinien. Weitere Informationen finden Sie in der offiziellen Ankündigung.

In dieser Schnellstartanleitung werden NSG-Datenflussprotokolle mithilfe einer ARM-Vorlage (Azure Resource Manager) und unter Verwendung von Azure PowerShell aktiviert. Weitere Informationen finden Sie unter Was ist Azure Resource Manager? und Übersicht über NSG-Datenflussprotokolle.

Eine Azure Resource Manager-Vorlage ist eine JSON (JavaScript Object Notation)-Datei, welche die Infrastruktur und die Konfiguration für Ihr Projekt definiert. Die Vorlage verwendet eine deklarative Syntax. Sie beschreiben Ihre geplante Bereitstellung, ohne die Abfolge der Programmierbefehle zu schreiben, mit denen die Bereitstellung erstellt wird.

Wir beginnen mit einer Übersicht über die Eigenschaften des NSG-Flussprotokollobjekts. Wir stellen Ihnen Beispielvorlagen zur Verfügung. Dann verwenden wir eine lokale Azure PowerShell-Instanz, um die Vorlage bereitzustellen.

Wenn Ihre Umgebung die Voraussetzungen erfüllt und Sie mit der Verwendung von ARM-Vorlagen vertraut sind, wählen Sie die Schaltfläche Deploy to Azure aus. Die Vorlage wird im Azure-Portal geöffnet.

Schaltfläche zum Bereitstellen der Resource Manager-Vorlage in Azure.

Voraussetzungen

Ein Azure-Konto mit einem aktiven Abonnement. Falls Sie kein Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Überprüfen der Vorlage

Die in dieser Schnellstartanleitung verwendete Vorlage stammt aus den Azure-Schnellstartvorlagen.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.9.1.41621",
      "templateHash": "14580725600461536175"
    }
  },
  "parameters": {
    "networkWatcherName": {
      "type": "string",
      "defaultValue": "[format('NetworkWatcher_{0}', parameters('location'))]",
      "metadata": {
        "description": "Name of the Network Watcher attached to your subscription. Format: NetworkWatcher_<region_name>"
      }
    },
    "flowLogName": {
      "type": "string",
      "defaultValue": "FlowLog1",
      "metadata": {
        "description": "Name of your Flow log resource"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Region where you resources are located"
      }
    },
    "existingNSG": {
      "type": "string",
      "metadata": {
        "description": "Resource ID of the target NSG"
      }
    },
    "retentionDays": {
      "type": "int",
      "defaultValue": 0,
      "maxValue": 365,
      "minValue": 0,
      "metadata": {
        "description": "Retention period in days. Default is zero which stands for permanent retention. Can be any Integer from 0 to 365"
      }
    },
    "flowLogsVersion": {
      "type": "int",
      "defaultValue": 2,
      "allowedValues": [
        1,
        2
      ],
      "metadata": {
        "description": "FlowLogs Version. Correct values are 1 or 2 (default)"
      }
    },
    "storageAccountType": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_GRS",
        "Standard_ZRS"
      ],
      "metadata": {
        "description": "Storage Account type"
      }
    }
  },
  "variables": {
    "storageAccountName": "[format('flowlogs{0}', uniqueString(resourceGroup().id))]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-09-01",
      "name": "[variables('storageAccountName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageAccountType')]"
      },
      "kind": "StorageV2",
      "properties": {}
    },
    {
      "type": "Microsoft.Network/networkWatchers",
      "apiVersion": "2022-01-01",
      "name": "[parameters('networkWatcherName')]",
      "location": "[parameters('location')]",
      "properties": {}
    },
    {
      "type": "Microsoft.Network/networkWatchers/flowLogs",
      "apiVersion": "2022-01-01",
      "name": "[format('{0}/{1}', parameters('networkWatcherName'), parameters('flowLogName'))]",
      "location": "[parameters('location')]",
      "properties": {
        "targetResourceId": "[parameters('existingNSG')]",
        "storageId": "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]",
        "enabled": true,
        "retentionPolicy": {
          "days": "[parameters('retentionDays')]",
          "enabled": true
        },
        "format": {
          "type": "JSON",
          "version": "[parameters('flowLogsVersion')]"
        }
      },
      "dependsOn": [
        "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]"
      ]
    }
  ]
}

Die folgenden Ressourcen sind in der Vorlage definiert:

Der hervorgehobene Code im vorherigen Beispiel zeigt eine Ressourcendefinition für NSG-Flussprotokolle.

Implementieren der Vorlage

In diesem Tutorial wird davon ausgegangen, dass Sie über eine Ressourcengruppe und eine NSG verfügen, in der Sie die Flussprotokollierung aktivieren können.

Sie können jede der in diesem Artikel gezeigten 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 Azure PowerShell aus, um die Vorlage bereitzustellen.

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

Hinweis

Diese Befehle stellen eine Ressource für die NetworkWatcherRG-Ressourcengruppe bereit und nicht für die Ressourcengruppe, die die Netzwerk-Sicherheitsgruppe (NSG) enthält.

Validierung der Bereitstellung

Sie haben zwei Möglichkeiten, um zu prüfen, ob Ihre Bereitstellung erfolgreich war:

Falls bei der Bereitstellung Probleme aufgetreten sind, lesen Sie den Artikel Beheben gängiger Azure-Bereitstellungsfehler mit Azure Resource Manager.

Bereinigen von Ressourcen

Sie können Azure-Ressourcen unter Verwendung des vollständigen Bereitstellungsmodus löschen. Um eine Flow-Log-Ressource zu löschen, geben Sie eine Bereitstellung im vollständigen Modus an, ohne die Ressource einzubeziehen, die Sie löschen möchten. Erfahren Sie mehr über den Bereitstellungsmodus „Vollständig“.

Sie können auch ein Datenflussprotokoll im Azure-Portal deaktivieren oder löschen:

  1. Geben Sie im Suchfeld oben im Portal Network Watcher ein. Wählen Sie Network Watcher aus den Suchergebnissen aus.

  2. Wählen Sie unter Protokolle die Option Datenflussprotokolle aus.

  3. Aktivieren Sie in Network Watcher | Datenflussprotokolle das Kontrollkästchen des Datenflussprotokolls, das Sie löschen möchten.

  4. Wählen Sie Deaktivieren oder Löschen aus. Weitere Informationen finden Sie unter Deaktivieren eines Datenflussprotokolls oder Löschen eines Datenflussprotokolls.

In dieser Schnellstartanleitung haben Sie erfahren, wie Sie NSG-Datenflussprotokolle mithilfe einer ARM-Vorlage aktivieren. Erfahren Sie als Nächstes, wie Sie Ihre NSG-Flussdaten mithilfe von Datenverkehrsanalysen visualisieren: