Hantera NSG-flödesloggar med Azure PowerShell
Viktigt!
Den 30 september 2027 dras nätverkssäkerhetsgruppens flödesloggar tillbaka. Som en del av den här tillbakadragningen kommer du inte längre att kunna skapa nya NSG-flödesloggar från och med den 30 juni 2025. Vi rekommenderar att du migrerar till flödesloggar för virtuella nätverk, vilket övervinner begränsningarna i NSG-flödesloggar. Efter slutdatumet stöds inte längre trafikanalys som är aktiverad med NSG-flödesloggar, och befintliga NSG-flödesloggresurser i dina prenumerationer tas bort. NSG-flödesloggposter tas dock inte bort och fortsätter att följa deras respektive kvarhållningsprinciper. Mer information finns i det officiella meddelandet.
Flödesloggning för nätverkssäkerhetsgrupp är en funktion i Azure Network Watcher som gör att du kan logga information om IP-trafik som flödar genom en nätverkssäkerhetsgrupp. Mer information om flödesloggning för nätverkssäkerhetsgrupper finns i Översikt över NSG-flödesloggar.
I den här artikeln får du lära dig hur du skapar, ändrar, inaktiverar eller tar bort en NSG-flödeslogg med Azure PowerShell. Du kan lära dig hur du hanterar en NSG-flödeslogg med hjälp av mallen Azure Portal, Azure CLI, REST API eller ARM.
Förutsättningar
Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
Insights-provider. Mer information finns i Register Insights-providern.
En nätverkssäkerhetsgrupp. Om du behöver skapa en nätverkssäkerhetsgrupp kan du läsa Skapa, ändra eller ta bort en nätverkssäkerhetsgrupp.
Ett Azure-lagringskonto. Om du behöver skapa ett lagringskonto kan du läsa skapa ett lagringskonto med PowerShell.
Azure Cloud Shell eller Azure PowerShell installerat lokalt.
Stegen i den här artikeln kör Azure PowerShell-cmdletarna interaktivt i Azure Cloud Shell. Om du vill köra kommandona i Cloud Shell väljer du Öppna Cloud Shell i det övre högra hörnet i ett kodblock. Välj Kopiera för att kopiera koden och klistra sedan in den i Cloud Shell för att köra den. Du kan också köra Cloud Shell inifrån Azure Portal.
Du kan också installera Azure PowerShell lokalt för att köra cmdletarna. Den här artikeln kräver Az PowerShell-modulen. Mer information finns i Installera Azure PowerShell. Kör
Get-InstalledModule -Name Az
för att hitta den installerade versionen. Om du kör PowerShell lokalt loggar du in på Azure med hjälp av cmdleten Connect-AzAccount .
Registrera insights-provider
Microsoft.Insights-providern måste vara registrerad för att kunna logga trafik som flödar via en nätverkssäkerhetsgrupp. Om du inte är säker på om Microsoft.Insights-providern är registrerad använder du Register-AzResourceProvider för att registrera den.
# Register Microsoft.Insights provider.
Register-AzResourceProvider -ProviderNamespace 'Microsoft.Insights'
Skapa en flödeslogg
Hämta egenskaperna för den nätverkssäkerhetsgrupp som du vill skapa flödesloggen för och det lagringskonto som du vill använda för att lagra den skapade flödesloggen med hjälp av Get-AzNetworkSecurityGroup respektive 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'
Kommentar
- Om lagringskontot finns i en annan prenumeration måste nätverkssäkerhetsgruppen och lagringskontot associeras med samma Azure Active Directory-klientorganisation. Det konto som du använder för varje prenumeration måste ha nödvändiga behörigheter.
Skapa flödesloggen med New-AzNetworkWatcherFlowLog. Flödesloggen skapas i nätverksbevakarens standardresursgrupp NetworkWatcherRG.
# Create a version 1 NSG flow log. New-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -Enabled $true
Skapa en arbetsyta för flödesloggar och trafikanalyser
Hämta egenskaperna för den nätverkssäkerhetsgrupp som du vill skapa flödesloggen för och det lagringskonto som du vill använda för att lagra den skapade flödesloggen med hjälp av Get-AzNetworkSecurityGroup respektive 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'
Kommentar
- Lagringskontot kan inte ha nätverksregler som begränsar nätverksåtkomsten till endast Microsoft-tjänster eller specifika virtuella nätverk.
- Om lagringskontot finns i en annan prenumeration måste nätverkssäkerhetsgruppen och lagringskontot associeras med samma Azure Active Directory-klientorganisation. Det konto som du använder för varje prenumeration måste ha nödvändiga behörigheter.
Skapa en arbetsyta för trafikanalys med New-AzOperationalInsightsWorkspace.
# Create a traffic analytics workspace and place its properties into a variable. $workspace = New-AzOperationalInsightsWorkspace -Name 'myWorkspace' -ResourceGroupName 'myResourceGroup' -Location 'eastus'
Skapa flödesloggen med New-AzNetworkWatcherFlowLog. Flödesloggen skapas i nätverksbevakarens standardresursgrupp NetworkWatcherRG.
# 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
Ändra en flödeslogg
Du kan använda Set-AzNetworkWatcherFlowLog för att ändra egenskaperna för en flödeslogg. Du kan till exempel ändra flödesloggversionen eller inaktivera trafikanalys.
# 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
Visa en lista över alla flödesloggar i en region
Använd Get-AzNetworkWatcherFlowLog för att visa alla NSG-flödesloggresurser i en viss region i din prenumeration.
# Get all NSG flow logs in East US region.
Get-AzNetworkWatcherFlowLog -Location 'eastus' | format-table Name
Kommentar
Om du vill använda parametern -Location
med Get-AzNetworkWatcherFlowLog
cmdlet behöver du ytterligare behörigheten Läsare i resursgruppen NetworkWatcherRG .
Visa information om en flödesloggresurs
Använd Get-AzNetworkWatcherFlowLog för att se information om en flödesloggresurs.
# Get the details of a flow log.
Get-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus'
Kommentar
Om du vill använda parametern -Location
med Get-AzNetworkWatcherFlowLog
cmdlet behöver du ytterligare behörigheten Läsare i resursgruppen NetworkWatcherRG .
Ladda ned en flödeslogg
Lagringsplatsen för en flödeslogg definieras när den skapas. Om du vill komma åt och ladda ned flödesloggar från ditt lagringskonto kan du använda Azure Storage Explorer. Mer information finns i Kom igång med Storage Explorer.
NSG-flödesloggfiler som sparats på ett lagringskonto följer den här sökvägen:
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
Information om strukturen för en flödeslogg finns i Loggformat för NSG-flödesloggar.
Inaktivera en flödeslogg
Om du tillfälligt vill inaktivera en flödeslogg utan att ta bort den använder du Set-AzNetworkWatcherFlowLog med parametern -Enabled $false
. Om du inaktiverar en flödeslogg stoppas flödesloggningen för den associerade nätverkssäkerhetsgruppen. Flödesloggresursen finns dock kvar med alla inställningar och associationer. Du kan återaktivera den när som helst för att återuppta flödesloggningen för den konfigurerade nätverkssäkerhetsgruppen.
Kommentar
Om trafikanalys är aktiverat för en flödeslogg måste den inaktiveras innan du kan inaktivera flödesloggen.
# 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
Ta bort en flödeslogg
Om du vill ta bort en NSG-flödeslogg permanent använder du kommandot Remove-AzNetworkWatcherFlowLog . Om du tar bort en flödeslogg tas alla inställningar och associationer bort. Om du vill börja flödesloggningen igen för samma nätverkssäkerhetsgrupp måste du skapa en ny flödeslogg för den.
# Delete the flow log.
Remove-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus'
Kommentar
Om du tar bort en flödeslogg tas inte flödesloggdata bort från lagringskontot. Flödesloggdata som lagras i lagringskontot följer den konfigurerade kvarhållningsprincipen.
Relaterat innehåll
- Information om hur du använder inbyggda Azure-principer för att granska eller distribuera NSG-flödesloggar finns i Hantera NSG-flödesloggar med Azure Policy.
- Mer information om trafikanalys finns i Trafikanalys.