Gestire i log dei flussi del gruppo di sicurezza di rete usando un modello di Azure Resource Manager

La registrazione dei flussi dei gruppi di sicurezza di rete è una funzionalità di Azure Network Watcher che consente di registrare informazioni sul traffico IP che scorre attraverso un gruppo di sicurezza di rete. Per altre informazioni sulla registrazione dei flussi dei gruppi di sicurezza di rete, vedere Panoramica dei log dei flussi del gruppo di sicurezza di rete.

Questo articolo illustra come gestire i log dei flussi dei gruppi di sicurezza di rete a livello di codice usando un modello di Azure Resource Manager e Azure PowerShell. È possibile imparare a gestire un log del flusso del gruppo di sicurezza di rete usando l'API REST portale di Azure, PowerShell, l'interfaccia della riga di comando di Azure o l'API REST.

Un modello di Azure Resource Manager è un file JSON (JavaScript Object Notation) che definisce l'infrastruttura e la configurazione per il progetto usando la sintassi dichiarativa.

Prerequisiti

Oggetto log del flusso del gruppo di sicurezza di rete

L'oggetto log del flusso del gruppo di sicurezza di rete con tutti i parametri è illustrato nell'esempio seguente. Per una panoramica completa delle proprietà dell'oggetto, vedere Informazioni di riferimento sul modello dei log dei flussi del gruppo di sicurezza di rete.

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

Per creare una risorsa Microsoft.Network/networkWatchers/flowLogs, aggiungere il codice JSON precedente alla sezione resources del modello.

Creare il modello

Per altre informazioni sull'uso dei modelli di Azure Resource Manager, vedere:

Gli esempi seguenti presentano modelli completi per abilitare i log dei flussi del gruppo di sicurezza di rete.

Esempio 1

Nell'esempio 1 viene usata la versione più semplice del modello di Resource Manager con parametri minimi passati. Il modello seguente abilita i log dei flussi del gruppo di sicurezza di rete in un gruppo di sicurezza di rete di destinazione e li archivia in un determinato account di archiviazione.

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

  }
  ]
}

Nota

  • targetResourceId è l'ID risorsa del gruppo di sicurezza di rete di destinazione.
  • storageId è l'ID risorsa per l'account di archiviazione di destinazione.

Esempio 2

L'esempio 2 usa il modello seguente per abilitare i log dei flussi del gruppo di sicurezza di rete (versione 2) con conservazione di 5 giorni e analisi del traffico con un intervallo di elaborazione di 10 minuti.

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

Nota

  • targetResourceId è l'ID risorsa del gruppo di sicurezza di rete di destinazione.
  • storageId è l'ID risorsa per l'account di archiviazione di destinazione.
  • workspaceResourceId è l'ID risorsa dell'area di lavoro analisi del traffico.

Distribuire il modello di Azure Resource Manager

Questa esercitazione presuppone che si disponga di un gruppo di risorse esistente e di un gruppo di sicurezza di rete in cui è possibile abilitare la registrazione dei flussi. È possibile salvare in locale i modelli di esempio precedenti 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 PowerShell.

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

Nota

I comandi precedenti distribuiscono una risorsa nel gruppo di risorse NetworkWatcherRG e non nel gruppo di risorse contenente il gruppo di sicurezza di rete.

Verificare la distribuzione

Esistono due modi per verificare se la distribuzione è riuscita. Nella console di PowerShell è necessario che per "ProvisioningState" sia visualizzato il valore "Succeeded". È anche possibile visitare la pagina del portale dei log di Flow per confermare le modifiche. Se si sono verificati problemi durante la distribuzione, vedere Risolvere errori comuni durante la distribuzione di Azure con Azure Resource Manager.

Eliminare la risorsa

Azure abilita l'eliminazione delle risorse tramite la modalità di distribuzione completa . Per eliminare una risorsa dei log di flusso, specificare una distribuzione in modalità Completa senza includere la risorsa da eliminare. Per altre informazioni, vedere Modalità di distribuzione completa.

Passaggi successivi