Condividi tramite


Gestire i log dei flussi NSG usando l'API REST

Importante

Il 30 settembre 2027 i log dei flussi del gruppo di sicurezza di rete (NSG) verranno ritirati. Nell'ambito di questa disattivazione, non sarà più possibile creare nuovi log di flusso NSG a partire dal 30 giugno 2025. Raccomandiamo la migrazione ai log dei flussi di rete virtuale , che superano le limitazioni dei log dei flussi del gruppo di sicurezza di rete. Dopo la data di ritiro, l'analisi del traffico abilitata con i log dei flussi del NSG (gruppo di sicurezza di rete) non sarà più supportata, e le risorse esistenti dei log dei flussi del NSG nelle vostre sottoscrizioni verranno eliminate. Tuttavia, i record dei log dei flussi NSG non verranno eliminati e continueranno a seguire le rispettive politiche di conservazione. Per altre informazioni, vedere l'annuncio ufficiale .

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 usare l'API REST per abilitare, disabilitare ed eseguire query sui log dei flussi usando l'API REST. Puoi imparare come gestire un log del flusso NSG utilizzando il portale di Azure , PowerShell, Azure CLI, oppure il modello ARM .

In questo articolo si apprenderà come:

  • Abilitare i log dei flussi (versione 2)
  • Disabilitare i log dei flussi
  • Stato dei log del flusso di query

Prerequisiti

  • Un account Azure con una sottoscrizione attiva. Crea un account gratuitamente.
  • ARMClient. ARMClient è uno strumento da riga di comando semplice per richiamare l'API di Azure Resource Manager. Per installare lo strumento, vedere ARMClient. Per specifiche dettagliate dell'API REST dei log di flusso del NSG, vedere Log di flusso - API REST

Importante

Quando si effettuano chiamate API REST a Network Watcher, il nome del gruppo di risorse nell'URI della richiesta fa riferimento al gruppo di risorse che contiene Network Watcher, non alle risorse in cui vengono eseguite le azioni di diagnostica.

Accedere con ARMClient

Accedere a armclient con le credenziali di Azure.

armclient login

Registrare il provider di Insights

Il provider Microsoft.Insights deve essere registrato per registrare con successo il traffico che scorre attraverso un gruppo di sicurezza di rete. Se non si è certi che il provider Microsoft.Insights sia registrato, utilizzare la REST API di Providers - Register per registrarlo.

$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
armclient post "https://management.azure.com//subscriptions/${subscriptionId}/providers/Microsoft.Insights/register?api-version=2021-04-01"

Abilitare i log dei flussi NSG

Il comando per abilitare i log di flusso versione 2 è illustrato nell'esempio seguente. Per la versione 1, sostituire il campo 'version' con '1':

$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$targetUri = "" # example /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName/providers/Microsoft.Network/networkSecurityGroups/{nsgName}"
$storageId = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/{resourceGroupName/providers/Microsoft.Storage/storageAccounts/{saName}"
$resourceGroupName = "NetworkWatcherRG"
$networkWatcherName = "NetworkWatcher_westcentralus"
$requestBody = @"
{
    'targetResourceId': '${targetUri}',
    'properties': {
    'storageId': '${storageId}',
    'enabled': 'true',
    'retentionPolicy' : {
			days: 5,
			enabled: true
		},
    'format': {
        'type': 'JSON',
        'version': 2
    }
	}
}
"@

armclient post "https://management.azure.com/subscriptions/${subscriptionId}/ResourceGroups/${resourceGroupName}/providers/Microsoft.Network/networkWatchers/${networkWatcherName}/configureFlowLog?api-version=2022-11-01" $requestBody

La risposta restituita dall'esempio precedente è la seguente:

{
  "targetResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{nsgName}",
  "properties": {
    "storageId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{saName}",
    "enabled": true,
    "retentionPolicy": {
      "days": 5,
      "enabled": true
    },
    "format": {
    "type": "JSON",
    "version": 2
    }
  }
}

Nota

Disabilitare i log dei flussi del gruppo di sicurezza di rete

Usare l'esempio seguente per disabilitare i log di flusso. La chiamata equivale all'abilitazione dei log di flusso, tranne che la proprietà enabled è impostata su false.

$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$targetUri = "" # example /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName/providers/Microsoft.Network/networkSecurityGroups/{nsgName}"
$storageId = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/{resourceGroupName/providers/Microsoft.Storage/storageAccounts/{saName}"
$resourceGroupName = "NetworkWatcherRG"
$networkWatcherName = "NetworkWatcher_westcentralus"
$requestBody = @"
{
    'targetResourceId': '${targetUri}',
    'properties': {
    'storageId': '${storageId}',
    'enabled': 'false',
    'retentionPolicy' : {
			days: 5,
			enabled: true
		},
    'format': {
        'type': 'JSON',
        'version': 2
    }
	}
}
"@

armclient post "https://management.azure.com/subscriptions/${subscriptionId}/ResourceGroups/${resourceGroupName}/providers/Microsoft.Network/networkWatchers/${networkWatcherName}/configureFlowLog?api-version=2022-11-01" $requestBody

La risposta restituita dall'esempio precedente è la seguente:

{
  "targetResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{nsgName}",
  "properties": {
    "storageId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{saName}",
    "enabled": false,
    "retentionPolicy": {
      "days": 5,
      "enabled": true
    },
    "format": {
    "type": "JSON",
    "version": 2
    }
  }
}

Nota

Log del flusso di query

La chiamata REST seguente esegue una query sullo stato dei log dei flussi in un gruppo di sicurezza di rete.

$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$targetUri = "" # example /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName/providers/Microsoft.Network/networkSecurityGroups/{nsgName}"
$resourceGroupName = "NetworkWatcherRG"
$networkWatcherName = "NetworkWatcher_westcentralus"
$requestBody = @"
{
    'targetResourceId': '${targetUri}',
}
"@

armclient post "https://management.azure.com/subscriptions/${subscriptionId}/ResourceGroups/${resourceGroupName}/providers/Microsoft.Network/networkWatchers/${networkWatcherName}/queryFlowLogStatus?api-version=2022-11-01" $requestBody

L'esempio seguente mostra la risposta restituita:

{
  "targetResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{nsgName}",
  "properties": {
    "storageId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{saName}",
    "enabled": true,
   "retentionPolicy": {
      "days": 5,
      "enabled": true
    },
    "format": {
    "type": "JSON",
    "version": 2
    }
  }
}

Nota

Scaricare un log di flusso

La posizione di archiviazione di un log di flusso viene definita al momento della creazione. Uno strumento pratico per accedere ai log dei flussi salvati in un account di archiviazione è Microsoft Azure Storage Explorer. Per altre informazioni, vedere Introduzione a Storage Explorer.

Se si specifica un account di archiviazione, i file di acquisizione pacchetti vengono salvati in un account di archiviazione nel percorso seguente:

https://{storageAccountName}.blob.core.windows.net/insights-logs-networksecuritygroupflowevent/resourceId=/SUBSCRIPTIONS/{subscriptionID}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/{nsgName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json

Passaggi successivi