Condividi tramite


Guida introduttiva: Configurare i log dei flussi del gruppo di sicurezza di rete di Azure Network Watcher usando un modello di Azure Resource Manager (ARM)

Questa guida introduttiva illustra come abilitare i log dei flussi del gruppo di sicurezza di rete usando un modello di Azure Resource Manager (ARM) e Azure PowerShell. Per altre informazioni, vedere Panoramica dei log dei flussi di Azure Resource Manager e dei gruppi di sicurezza di rete.

Un modello di Azure Resource Manager è un file JSON (JavaScript Object Notation) che definisce l'infrastruttura e la configurazione del progetto. Il modello utilizza la sintassi dichiarativa. Si descrive la distribuzione prevista senza scrivere la sequenza di comandi di programmazione necessari per creare la distribuzione.

Si inizia con una panoramica delle proprietà dell'oggetto log dei flussi dei gruppi di sicurezza di rete. Vengono forniti modelli di esempio. Viene quindi usata un'istanza locale di Azure PowerShell per distribuire il modello.

Se l'ambiente soddisfa i prerequisiti e si ha familiarità con l'uso dei modelli di Resource Manager, selezionare il pulsante Distribuisci in Azure. Il modello viene visualizzato nel portale di Azure.

Pulsante per distribuire il modello di Resource Manager in Azure.

Prerequisiti

Un account Azure con una sottoscrizione attiva. Se non se ne dispone, creare un account gratuito prima di iniziare.

Rivedere il modello

Il modello usato in questa guida di avvio rapido è incluso nei modelli di avvio rapido di Azure.

{
  "$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'))]"
      ]
    }
  ]
}

Nel modello sono definite le risorse seguenti:

Il codice evidenziato nell'esempio precedente mostra una definizione di risorsa dei log dei flussi del gruppo di sicurezza di rete.

Distribuire il modello

Questa esercitazione presuppone che siano presenti un gruppo di risorse e un gruppo di sicurezza di rete in cui abilitare la funzionalità dei log dei flussi.

È possibile salvare i modelli di esempio illustrati in questo articolo in locale come azuredeploy.json. Aggiornare i valori delle proprietà in modo che puntino a risorse valide nella sottoscrizione.

Per distribuire il modello, eseguire il comando seguente in Azure PowerShell:

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

Nota

Questi comandi distribuiscono una risorsa nel gruppo di risorse NetworkWatcherRG e non nel gruppo di risorse che contiene il gruppo di sicurezza di rete.

Convalidare la distribuzione

Sono disponibili due opzioni per verificare se la distribuzione è riuscita:

Se si sono verificati problemi durante la distribuzione, vedere Risolvere errori comuni durante la distribuzione di Azure con Azure Resource Manager.

Pulire le risorse

È possibile eliminare le risorse di Azure usando la modalità di distribuzione completa. Per eliminare una risorsa del log del flusso, specificare una distribuzione in modalità completa senza includere la risorsa da eliminare. Per altre informazioni, vedere Modalità di distribuzione completa.

È anche possibile disabilitare o eliminare un log di flusso nel portale di Azure:

  1. Nella casella di ricerca nella parte superiore del portale immettere network watcher. Nei risultati della ricerca selezionare Network Watcher.

  2. In Log selezionare Log dei flussi.

  3. In Network Watcher | Log dei flussi, selezionare la casella di controllo del log dei flussi che si desidera eliminare.

  4. Selezionare Disabilita o Elimina. Per altre informazioni, vedere Disabilitare un log di flusso o Eliminare un log di flusso.

In questa guida introduttiva si è appreso come abilitare i log dei flussi del gruppo di sicurezza di rete usando un modello di Resource Manager. Informazioni su come visualizzare i dati del flusso del gruppo di sicurezza di rete usando l'analisi del traffico: