Quickstart: NSG-stroomlogboeken configureren met behulp van een ARM-sjabloon (Azure Resource Manager)

Important

Op 30 september 2027 worden stroomlogboeken voor netwerkbeveiligingsgroepen (NSG) buiten gebruik gesteld. Als onderdeel van deze buitengebruikstelling kunt u vanaf 30 juni 2025 geen nieuwe NSG-stroomlogboeken meer maken. U wordt aangeraden te migreren naar stroomlogboeken van virtuele netwerken, waardoor de beperkingen van NSG-stroomlogboeken worden opgelost. Na de buitengebruikstellingsdatum worden verkeersanalyses die zijn ingeschakeld met NSG-stroomlogboeken niet meer ondersteund en worden bestaande resources voor NSG-stroomlogboeken in uw abonnementen verwijderd. NSG-stroomlogboekrecords worden echter niet verwijderd en blijven hun respectieve bewaarbeleid volgen. Zie de officiële aankondiging voor meer informatie.

In deze quickstart leert u hoe u NSG-stroomlogboeken inschakelt met behulp van een ARM-sjabloon (Azure Resource Manager) en Azure PowerShell. Zie Wat is Azure Resource Manager? en overzicht van NSG-stroomlogboeken voor meer informatie.

Een Azure Resource Manager-sjabloon is een JSON-bestand (JavaScript Object Notation) dat de infrastructuur en configuratie voor uw project definieert. De sjabloon maakt gebruik van declaratieve syntaxis. U beschrijft de beoogde implementatie zonder de reeks programmeeropdrachten te schrijven om de implementatie te maken.

We beginnen met een overzicht van de eigenschappen van het NSG-stroomlogboekobject. Wij zorgen voor voorbeeldsjablonen. Vervolgens gebruiken we een lokale Azure PowerShell-instantie om de sjabloon te implementeren.

Als uw omgeving voldoet aan de vereisten en u bekend bent met het gebruik van ARM-sjablonen, selecteert u de knop Implementeer naar Azure. De sjabloon wordt in Azure Portal geopend.

Button om de Resource Manager-sjabloon te implementeren in Azure.

Vereisten

Een Azure-account met een actief abonnement. Als u nog geen account hebt, maakt u een gratis account voordat u begint.

De sjabloon controleren

De sjabloon die in deze quickstart wordt gebruikt, komt uit Azure-quickstart-sjablonen.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.46.1.21595",
      "templateHash": "17695204249265756820"
    }
  },
  "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": "VNetFlowLog1",
      "metadata": {
        "description": "Name of your flow log resource"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Region where your resources are located"
      }
    },
    "existingVNet": {
      "type": "string",
      "metadata": {
        "description": "Resource ID of the target virtual network"
      }
    },
    "retentionDays": {
      "type": "int",
      "defaultValue": 0,
      "minValue": 0,
      "maxValue": 365,
      "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": "2024-10-01",
      "name": "[parameters('networkWatcherName')]",
      "location": "[parameters('location')]",
      "properties": {}
    },
    {
      "type": "Microsoft.Network/networkWatchers/flowLogs",
      "apiVersion": "2024-10-01",
      "name": "[format('{0}/{1}', parameters('networkWatcherName'), parameters('flowLogName'))]",
      "location": "[parameters('location')]",
      "properties": {
        "targetResourceId": "[parameters('existingVNet')]",
        "storageId": "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]",
        "enabled": true,
        "retentionPolicy": {
          "days": "[parameters('retentionDays')]",
          "enabled": true
        },
        "format": {
          "type": "JSON",
          "version": "[parameters('flowLogsVersion')]"
        }
      },
      "dependsOn": [
        "[resourceId('Microsoft.Network/networkWatchers', parameters('networkWatcherName'))]",
        "[resourceId('Microsoft.Storage/storageAccounts', variables('storageAccountName'))]"
      ]
    }
  ],

De volgende resources zijn gedefinieerd in de sjabloon:

De gemarkeerde code in het voorgaande voorbeeld toont een resourcedefinitie voor NSG-stroomlogboeken.

De sjabloon implementeren

In deze zelfstudie wordt ervan uitgegaan dat u een bestaande resourcegroep hebt en een NSG waarvoor u stroomlogboekregistratie kunt inschakelen.

U kunt de voorbeeldsjablonen die in dit artikel worden weergegeven, lokaal opslaan als azuredeploy.json. Werk de eigenschapswaarden bij, zodat ze naar geldige resources in uw abonnement wijzen.

Voer de volgende opdracht in Azure PowerShell uit om de sjabloon te implementeren:

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

Note

Met deze opdrachten wordt een resource geïmplementeerd in de resourcegroep NetworkWatcherRG en niet in de resourcegroep die de netwerkbeveiligingsgroep bevat.

De implementatie valideren

U hebt twee opties om te controleren of uw implementatie is geslaagd:

Als er problemen zijn met de implementatie, raadpleegt u Veelvoorkomende fouten in Azure-implementaties met Azure Resource Manager oplossen.

De hulpbronnen opschonen

U kunt Azure-resources verwijderen via de implementatiemodus Volledig. Als u een stroomlogboekresource wilt verwijderen, specificeer dan een implementatie in volledige modus zonder de resource die u wilt verwijderen op te nemen. Lees meer over de volledige implementatiemodus.

U kunt een stroomlogboek ook uitschakelen of verwijderen in Azure Portal:

  1. Voer in het zoekvak bovenaan de portal Network Watcher in. Selecteer Network Watcher in de zoekresultaten.

  2. Selecteer stroomlogboeken onder Logboeken.

  3. In Network Watcher | Stroomlogboeken, schakel het selectievakje in van het stroomlogboek dat u wilt verwijderen.

  4. Selecteer Uitschakelen of Verwijderen. Zie Een stroomlogboek uitschakelen of Een stroomlogboek verwijderen voor meer informatie.

In deze quickstart hebt u geleerd hoe u NSG-stroomlogboeken kunt inschakelen met behulp van een ARM-sjabloon. Leer vervolgens hoe u uw NSG-stroomgegevens kunt visualiseren met behulp van verkeersanalyse: