Hantera NSG-flödesloggar med hjälp av en Azure Resource Manager-mall

Viktigt!

Den 30 september 2027 dras nätverkssäkerhetsgruppens flödesloggar tillbaka. Som en del av den här tillbakadragningen kommer du inte längre att kunna skapa nya NSG-flödesloggar från och med den 30 juni 2025. Vi rekommenderar att du migrerar till flödesloggar för virtuella nätverk, vilket övervinner begränsningarna i NSG-flödesloggar. Efter slutdatumet stöds inte längre trafikanalys som är aktiverad med NSG-flödesloggar, och befintliga NSG-flödesloggresurser i dina prenumerationer tas bort. NSG-flödesloggposter tas dock inte bort och fortsätter att följa deras respektive kvarhållningsprinciper. Mer information finns i det officiella meddelandet.

Flödesloggning för nätverkssäkerhetsgrupp är en funktion i Azure Network Watcher som gör att du kan logga information om IP-trafik som flödar genom en nätverkssäkerhetsgrupp. Mer information om flödesloggning för nätverkssäkerhetsgrupper finns i Översikt över NSG-flödesloggar.

I den här artikeln får du lära dig hur du hanterar NSG-flödesloggar programmatiskt med hjälp av en Azure Resource Manager-mall och Azure PowerShell. Du kan lära dig hur du hanterar en NSG-flödeslogg med hjälp av Azure Portal, PowerShell, Azure CLI eller REST API.

En Azure Resource Manager-mall är en JSON-fil (JavaScript Object Notation) som definierar infrastrukturen och konfigurationen för projektet med deklarativ syntax.

Förutsättningar

NSG-flödesloggobjekt

NSG-flödesloggobjektet med alla parametrar visas i följande exempel. En fullständig översikt över objektegenskaperna finns i mallreferensen för NSG-flödesloggar.

{
  "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"
         }
      }
    }
  }

Om du vill skapa en Microsoft.Network/networkWatchers/flowLogs-resurs lägger du till ovanstående JSON i resursavsnittet i mallen.

Skapa mallen

Mer information om hur du använder Azure Resource Manager-mallar finns i:

I följande exempel finns fullständiga mallar för att aktivera NSG-flödesloggar.

Exempel 1

Exempel 1 använder den enklaste versionen av ARM-mallen med minimiparametrar som har godkänts. Följande mall aktiverar NSG-flödesloggar i en målnätverkssäkerhetsgrupp och lagrar dem i ett visst lagringskonto.

{
  "$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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNSG",
      "storageId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
      "enabled": true,
      "flowAnalyticsConfiguration": {},
      "retentionPolicy": {},
      "format": {}
    }

  }
  ]
}

Kommentar

  • targetResourceId är resurs-ID för målnätverkssäkerhetsgruppen.
  • storageId är resurs-ID för mållagringskontot.

Exempel 2

Exempel 2 använder följande mall för att aktivera NSG-flödesloggar (version 2) med kvarhållning på 5 dagar och trafikanalys med ett bearbetningsintervall på 10 minuter.

{
  "$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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNSG",
        "storageId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
        "enabled": true,
        "flowAnalyticsConfiguration": {
          "networkWatcherFlowAnalyticsConfiguration": {
            "enabled": true,
            "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/defaultresourcegroup-eus/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e-EUS",
            "trafficAnalyticsInterval": 10
          }
        },
        "retentionPolicy": {
          "days": 5,
          "enabled": true
        },
        "format": {
          "type": "JSON",
          "version": 2
        }
      }
    }
  ]
}

Kommentar

  • targetResourceId är resurs-ID för målnätverkssäkerhetsgruppen.
  • storageId är resurs-ID för mållagringskontot.
  • workspaceResourceId är resurs-ID för arbetsytan för trafikanalys.

Distribuera din Azure Resource Manager-mall

Den här självstudien förutsätter att du har en befintlig resursgrupp och en nätverkssäkerhetsgrupp som du kan aktivera flödesloggning på. Du kan spara någon av ovanstående exempelmallar lokalt som azuredeploy.json. Uppdatera egenskapsvärdena så att de pekar på giltiga resurser i din prenumeration.

Om du vill distribuera mallen kör du följande kommando i PowerShell.

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

Kommentar

Föregående kommandon distribuerar en resurs till resursgruppen NetworkWatcherRG och inte till den resursgrupp som innehåller nätverkssäkerhetsgruppen.

Verifiera distributionen

Det finns ett par sätt att kontrollera om distributionen har lyckats. PowerShell-konsolen bör visa "ProvisioningState" som "Lyckades". Dessutom kan du gå till portalsidan för Flödesloggar för att bekräfta dina ändringar. Om det uppstod problem med distributionen kan du läsa Felsöka vanliga Azure-distributionsfel med Azure Resource Manager.

Ta bort resursen

Azure aktiverar borttagning av resurser via läget Slutför distribution. Om du vill ta bort en flödesloggresurs anger du en distribution i fullständigt läge utan att inkludera den resurs som du vill ta bort. Mer information finns i Slutför distributionsläge.

Nästa steg