Condividi tramite


Gestire i log dei flussi dei gruppi di sicurezza di rete con Azure PowerShell

Importante

Il 30 settembre 2027 i log dei flussi del gruppo di sicurezza di rete (NSG) verranno ritirati. Come parte di questo ritiro, non sarà più possibile creare nuovi log dei flussi del gruppo di sicurezza di rete a partire dal 30 giugno 2025. È consigliabile la migrazione ai log dei flussi della 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 gruppo di sicurezza di rete non sarà più supportata e le risorse dei log dei flussi del gruppo di sicurezza di rete esistenti nelle sottoscrizioni verranno eliminate. Tuttavia, i record dei log dei flussi del gruppo di sicurezza di rete non verranno eliminati e continueranno a seguire i rispettivi criteri di conservazione. Per altre informazioni, consultare 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 sui log dei flussi dei gruppi di sicurezza di rete, vedere Panoramica dei log dei flussi NSG.

Questo articolo illustra come creare, modificare, disabilitare o eliminare un log dei flussi NSG usando Azure PowerShell. È possibile imparare a gestire un log dei flussi NSG usando il portale di Azure, l'interfaccia della riga di comando di Azure, l'API REST o il modello di ARM.

Prerequisiti

  • Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.

  • Provider Insights. Per altre informazioni, vedere Registra provider di Insights.

  • Gruppo di sicurezza di rete. Se si desidera creare un gruppo di sicurezza di rete classico, vedere Creare, modificare o eliminare un gruppo di sicurezza di rete.

  • Un account di archiviazione di Azure. Se è necessario creare un account di archiviazione, vedere Creare un account di archiviazione usando PowerShell.

  • Azure Cloud Shell o Azure PowerShell installati in locale.

    • I passaggi descritti in questo articolo eseguono i cmdlet di Azure PowerShell in modo interattivo in Azure Cloud Shell. Per eseguire i comandi in Cloud Shell, selezionare Apri Cloud Shell nell'angolo superiore destro di un blocco di codice. Selezionare Copia per copiare il codice e incollarlo in Cloud Shell per eseguirlo. È anche possibile eseguire Cloud Shell dal portale di Azure.

    • È anche possibile installare Azure PowerShell in locale per eseguire i cmdlet. In questo articolo si presuppone che il modulo Azure PowerShell sia disponibile. Per altre informazioni, vedere Installare Azure PowerShell. Per trovare la versione installata, eseguire Get-InstalledModule -Name Az. Se si esegue PowerShell in locale, accedere ad Azure usando il cmdlet Connect-AzAccount.

Registrare il provider Insights

Il provider Microsoft.Insights deve essere registrato per registrare correttamente il traffico che scorre attraverso un gruppo di sicurezza di rete. Se non si è certi che il provider Microsoft.Insights sia registrato, usare Register-AzResourceProvider per registrarlo.

# Register Microsoft.Insights provider.
Register-AzResourceProvider -ProviderNamespace 'Microsoft.Insights'

Creare un log dei flussi

  1. Ottenere le proprietà del gruppo di sicurezza di rete per cui si vuole creare il log dei flussi e l'account di archiviazione che si vuole usare per archiviare il log dei flussi creato usando rispettivamente Get-AzNetworkSecurityGroup e Get-AzStorageAccount.

    # Place the network security group properties into a variable.
    $nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'
    
    # Place the storage account properties into a variable.
    $sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
    

    Nota

    • Se l'account di archiviazione si trova in una sottoscrizione differente, il gruppo di sicurezza di rete e l'account di archiviazione devono essere associati allo stesso tenant di Azure Active Directory. L'account usato per ogni sottoscrizione deve avere le autorizzazioni necessarie.
  2. Creare il log dei flussi usando New-AzNetworkWatcherFlowLog. Il log dei flussi viene creato nel gruppo di risorse predefinito NetworkWatcherRG di Network Watcher.

    # Create a version 1 NSG flow log.
    New-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -Enabled $true
    

Creare un log di flusso e un'area di lavoro analisi del traffico

  1. Ottenere le proprietà del gruppo di sicurezza di rete per cui si vuole creare il log dei flussi e l'account di archiviazione che si vuole usare per archiviare il log dei flussi creato usando rispettivamente Get-AzNetworkSecurityGroup e Get-AzStorageAccount.

    # Place the network security group properties into a variable.
    $nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'
    
    # Place the storage account properties into a variable.
    $sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
    

    Nota

    • L'account di archiviazione non può avere regole di rete che limitano l'accesso alla rete solo ai servizi Microsoft o a specifiche reti virtuali.
    • Se l'account di archiviazione si trova in una sottoscrizione differente, il gruppo di sicurezza di rete e l'account di archiviazione devono essere associati allo stesso tenant di Azure Active Directory. L'account usato per ogni sottoscrizione deve avere le autorizzazioni necessarie.
  2. Creare un'area di lavoro di analisi del traffico usando New-AzOperationalInsightsWorkspace.

    # Create a traffic analytics workspace and place its properties into a variable.
    $workspace = New-AzOperationalInsightsWorkspace -Name 'myWorkspace' -ResourceGroupName 'myResourceGroup' -Location 'eastus'
    
  3. Creare il log dei flussi usando New-AzNetworkWatcherFlowLog. Il log dei flussi viene creato nel gruppo di risorse predefinito NetworkWatcherRG di Network Watcher.

    # Create a version 1 NSG flow log with traffic analytics.
    New-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -Enabled $true -EnableTrafficAnalytics -TrafficAnalyticsWorkspaceId $workspace.ResourceId
    

Modificare un log dei flussi

È possibile usare Set-AzNetworkWatcherFlowLog per modificare le proprietà di un log dei flussi. Ad esempio, è possibile modificare la versione del log dei flussi o disabilitare l'analisi del traffico.

# Place the network security group properties into a variable.
$nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'

# Place the storage account properties into a variable.
$sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'

# Update the NSG flow log.
Set-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -Enabled $true -FormatVersion 2 

Elencare tutti i log dei flussi presenti in un'area

Usare Get-AzNetworkWatcherFlowLog per elencare tutte le risorse del log dei flussi del gruppo di sicurezza di rete in una determinata area della sottoscrizione.

# Get all NSG flow logs in East US region.
Get-AzNetworkWatcherFlowLog -Location 'eastus' | format-table Name

Nota

Per usare il parametro -Location con il cmdlet Get-AzNetworkWatcherFlowLog, è necessaria un'autorizzazione Lettoreaggiuntiva nel gruppo di risorse NetworkWatcherRG.

Visualizzare i dettagli di una risorsa del log dei flussi

Usare Get-AzNetworkWatcherFlowLog per visualizzare i dettagli di una risorsa del log dei flussi.

# Get the details of a flow log.
Get-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus'

Nota

Per usare il parametro -Location con il cmdlet Get-AzNetworkWatcherFlowLog, è necessaria un'autorizzazione Lettoreaggiuntiva nel gruppo di risorse NetworkWatcherRG.

Scaricare un log di flusso

Il percorso di archiviazione di un log di flusso viene definito al momento della creazione. Per accedere e scaricare i log dei flussi dall'account di archiviazione, è possibile usare Azure Storage Explorer. Per altre informazioni, vedere Informazioni di base su Storage Explorer.

I file di log dei flussi NSG salvati in un account di archiviazione seguono questo percorso:

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

Per informazioni sulla struttura di un log dei flussi, vedere Formato di log dei flussi NSG.

Disabilitare un log dei flussi

Per disabilitare temporaneamente un log dei flussi senza eliminarlo, usare Set-AzNetworkWatcherFlowLog con il parametro -Enabled $false. La disabilitazione di un log dei flussi arresta la registrazione dei flussi per il gruppo di sicurezza di rete associato. Tuttavia, la risorsa del log dei flussi rimane con tutte le relative impostazioni e associazioni. È possibile riabilitarlo in qualsiasi momento per riprendere la registrazione del flusso per il gruppo di sicurezza di rete configurato.

Nota

Se l'analisi del traffico è abilitata per un log dei flussi, è necessario disabilitarla prima di poter disabilitare il log dei flussi.

# Place the network security group properties into a variable.
$nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'

# Place the storage account properties into a variable.
$sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'

# Update the NSG flow log.
Set-AzNetworkWatcherFlowLog -Enabled $false -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id

Eliminare un log dei flussi

Per eliminare definitivamente un log dei flussi del gruppo di sicurezza di rete, usare il comando Remove-AzNetworkWatcherFlowLog. L'eliminazione di un log dei flussi elimina tutte le relative impostazioni e associazioni. Per iniziare di nuovo la registrazione del flusso per lo stesso gruppo di sicurezza di rete, è necessario crearne uno nuovo.

# Delete the flow log.
Remove-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus'

Nota

L'eliminazione di un log dei flussi non comporta l'eliminazione dei dati di log dei flussi dall'account di archiviazione. I dati dei log dei flussi archiviati nell'account di archiviazione seguono i criteri di conservazione configurati.