Sdílet prostřednictvím


Správa protokolů toku NSG pomocí Azure PowerShellu

Důležité

30. září 2027 se protokoly toku skupiny zabezpečení sítě (NSG) vyřadí z provozu. V rámci tohoto vyřazení už nebudete moct vytvářet nové protokoly toku NSG od 30. června 2025. Doporučujeme migrovat na protokoly toku virtuální sítě, které překonat omezení protokolů toku NSG. Po datu vyřazení se už nebudou podporovat analýzy provozu s protokoly toků NSG a stávající prostředky protokolů toku NSG ve vašich předplatných se odstraní. Záznamy protokolů toku NSG se ale neodstraní a budou dál dodržovat příslušné zásady uchovávání informací. Další informace najdete v oficiálním oznámení.

Protokolování toku skupiny zabezpečení sítě je funkce služby Azure Network Watcher, která umožňuje protokolovat informace o provozu PROTOKOLU IP procházejícího skupinou zabezpečení sítě. Další informace o protokolování toku skupiny zabezpečení sítě najdete v přehledu protokolů toku NSG.

V tomto článku se dozvíte, jak vytvořit, změnit, zakázat nebo odstranit protokol toku NSG pomocí Azure PowerShellu. Dozvíte se, jak spravovat protokol toku NSG pomocí webu Azure Portal, Azure CLI, rozhraní REST API nebo šablony ARM.

Požadavky

  • Účet Azure s aktivním předplatným. Vytvoření účtu zdarma

  • Poskytovatel přehledů Další informace najdete v tématu o registraci poskytovatele přehledů.

  • Skupina zabezpečení sítě. Pokud potřebujete vytvořit skupinu zabezpečení sítě, přečtěte si téma Vytvoření, změna nebo odstranění skupiny zabezpečení sítě.

  • Účet úložiště Azure. Pokud potřebujete vytvořit účet úložiště, přečtěte si téma Vytvoření účtu úložiště pomocí PowerShellu.

  • Azure Cloud Shell nebo Azure PowerShell se nainstalovaly místně.

    • Kroky v tomto článku spouští rutiny Azure PowerShellu interaktivně ve službě Azure Cloud Shell. Pokud chcete příkazy spustit v Cloud Shellu, vyberte Otevřít Cloud Shell v pravém horním rohu bloku kódu. Výběrem možnosti Kopírovat zkopírujte kód a vložte ho do Cloud Shellu a spusťte ho. Cloud Shell můžete spustit také z webu Azure Portal.

    • Ke spuštění rutin můžete také nainstalovat Azure PowerShell místně. Tento článek vyžaduje modul Az PowerShell. Další informace najdete v tématu Postup instalace Azure PowerShellu. Nainstalovanou verzi zjistíte spuštěním rutiny Get-InstalledModule -Name Az. Pokud powershell spouštíte místně, přihlaste se k Azure pomocí rutiny Connect-AzAccount .

Registrace poskytovatele přehledů

Zprostředkovatel Microsoft.Insights musí být zaregistrovaný pro úspěšné protokolování provozu procházejícího skupinou zabezpečení sítě. Pokud si nejste jistí, jestli je zprostředkovatel Microsoft.Insights zaregistrovaný, zaregistrujte ho pomocí Register-AzResourceProvider .

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

Vytvoření protokolu toku

  1. Získejte vlastnosti skupiny zabezpečení sítě, pro kterou chcete vytvořit protokol toku, a účet úložiště, který chcete použít k uložení vytvořeného protokolu toku pomocí rutiny Get-AzNetworkSecurityGroup a 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'
    

    Poznámka:

    • Pokud je účet úložiště v jiném předplatném, musí být skupina zabezpečení sítě a účet úložiště přidružené ke stejnému tenantovi Azure Active Directory. Účet, který používáte pro každé předplatné, musí mít potřebná oprávnění.
  2. Vytvořte protokol toku pomocí New-AzNetworkWatcherFlowLog. Protokol toku se vytvoří ve výchozí skupině prostředků NetworkWatcherRG služby Network Watcher.

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

Vytvoření pracovního prostoru protokolu toku a analýzy provozu

  1. Získejte vlastnosti skupiny zabezpečení sítě, pro kterou chcete vytvořit protokol toku, a účet úložiště, který chcete použít k uložení vytvořeného protokolu toku pomocí rutiny Get-AzNetworkSecurityGroup a 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'
    

    Poznámka:

    • Účet úložiště nemůže mít síťová pravidla, která omezují síťový přístup jenom na služby Microsoft nebo na konkrétní virtuální sítě.
    • Pokud je účet úložiště v jiném předplatném, musí být skupina zabezpečení sítě a účet úložiště přidružené ke stejnému tenantovi Azure Active Directory. Účet, který používáte pro každé předplatné, musí mít potřebná oprávnění.
  2. Vytvořte pracovní prostor analýzy provozu pomocí New-AzOperationalInsightsWorkspace.

    # Create a traffic analytics workspace and place its properties into a variable.
    $workspace = New-AzOperationalInsightsWorkspace -Name 'myWorkspace' -ResourceGroupName 'myResourceGroup' -Location 'eastus'
    
  3. Vytvořte protokol toku pomocí New-AzNetworkWatcherFlowLog. Protokol toku se vytvoří ve výchozí skupině prostředků NetworkWatcherRG služby 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
    

Změna protokolu toku

Ke změně vlastností protokolu toku můžete použít Set-AzNetworkWatcherFlowLog . Můžete například změnit verzi protokolu toku nebo zakázat analýzu provozu.

# 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 

Výpis všech protokolů toku v oblasti

Pomocí rutiny Get-AzNetworkWatcherFlowLog vypíšete všechny prostředky protokolu toku NSG v konkrétní oblasti ve vašem předplatném.

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

Poznámka:

K použití parametru s rutinou Get-AzNetworkWatcherFlowLog potřebujete další oprávnění Čtenář ve skupině prostředků NetworkWatcherRG.-Location

Zobrazení podrobností o prostředku protokolu toku

Pomocí rutiny Get-AzNetworkWatcherFlowLog zobrazíte podrobnosti o prostředku protokolu toku.

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

Poznámka:

K použití parametru s rutinou Get-AzNetworkWatcherFlowLog potřebujete další oprávnění Čtenář ve skupině prostředků NetworkWatcherRG.-Location

Stažení protokolu toku

Umístění úložiště protokolu toku je definováno při vytváření. Pokud chcete získat přístup k protokolům toku a stahovat je z účtu úložiště, můžete použít Průzkumník služby Azure Storage. Další informace najdete v tématu Začínáme s Průzkumník služby Storage.

Soubory protokolu toku NSG uložené do účtu úložiště se řídí touto cestou:

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

Informace o struktuře protokolu toku najdete v tématu Formát protokolu protokolů toku NSG.

Zakázání protokolu toku

Pokud chcete dočasně zakázat protokol toku bez odstranění, použijte Set-AzNetworkWatcherFlowLog s parametrem -Enabled $false . Zakázání protokolu toku zastaví protokolování toku pro přidruženou skupinu zabezpečení sítě. Prostředek protokolu toku ale zůstane se všemi jeho nastaveními a přidruženími. Můžete ho kdykoli znovu povolit, abyste obnovili protokolování toku pro nakonfigurovanou skupinu zabezpečení sítě.

Poznámka:

Pokud je pro protokol toku povolená analýza provozu, musí být zakázaná, abyste mohli protokol toku zakázat.

# 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

Odstranění protokolu toku

Pokud chcete trvale odstranit protokol toku NSG, použijte příkaz Remove-AzNetworkWatcherFlowLog . Odstraněním protokolu toku se odstraní všechna jeho nastavení a přidružení. Pokud chcete znovu zahájit protokolování toku pro stejnou skupinu zabezpečení sítě, musíte pro ni vytvořit nový protokol toku.

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

Poznámka:

Odstraněním protokolu toku nedojde k odstranění dat protokolu toku z účtu úložiště. Tok protokoluje data uložená v účtu úložiště podle nakonfigurovaných zásad uchovávání informací.