Share via


NSG-stroomlogboeken beheren met REST API

Belangrijk

Op 30 september 2027 worden stroomlogboeken voor netwerkbeveiligingsgroepen (NSG) buiten gebruik gesteld. Als onderdeel van deze buitengebruikstelling kunt u vanaf 30 juni 2025 geen nieuwe NSG-stroomlogboeken meer maken. U wordt aangeraden te migreren naar virtuele netwerkstroomlogboeken, waardoor de beperkingen van NSG-stroomlogboeken worden weggenomen. Na de buitengebruikstellingsdatum worden verkeersanalyses die zijn ingeschakeld met NSG-stroomlogboeken niet meer ondersteund en worden bestaande resources voor NSG-stroomlogboeken in uw abonnementen verwijderd. NSG-stroomlogboekrecords worden echter niet verwijderd en blijven hun respectieve bewaarbeleid volgen. Zie de officiƫle aankondiging voor meer informatie.

Logboekregistratie van netwerkbeveiligingsgroepen is een functie van Azure Network Watcher waarmee u informatie kunt vastleggen over IP-verkeer dat via een netwerkbeveiligingsgroep stroomt. Zie overzicht van NSG-stroomlogboekenvoor meer informatie over logboekregistratie van netwerkbeveiligingsgroepen.

In dit artikel leest u hoe u de REST API kunt gebruiken om logboeken voor stromen in te schakelen, uit te schakelen en er query's op uit te voeren met behulp van de REST API. U kunt leren hoe u een NSG-stroomlogboek beheert met behulp van de Azure-portal, PowerShell-, Azure CLI-of ARM-sjabloon.

In dit artikel leert u hoe u het volgende kunt doen:

  • Stroomlogboeken inschakelen (versie 2)
  • Stroomlogboeken uitschakelen
  • Status van querystroomlogboeken

Voorwaarden

  • Een Azure-account met een actief abonnement. Maak gratis een account.
  • ARMClient. ARMClient is een eenvoudig opdrachtregelprogramma om de Azure Resource Manager-API aan te roepen. Zie ARMClient-om het hulpprogramma te installeren. Zie Flow Logs - REST API voor gedetailleerde specificaties van NSG-stroomlogboeken

Belangrijk

Wanneer u REST API-aanroepen naar Network Watcher uitvoert, verwijst de naam van de resourcegroep in de aanvraag-URI naar de resourcegroep die network Watcher bevat, niet naar de resources waarop u de diagnostische acties uitvoert.

Aanmelden met ARMClient

Meld u aan bij armclient met uw Azure-referenties.

armclient login

Insights-provider registreren

Microsoft.Insights provider moet zijn geregistreerd om verkeer dat succesvol via een netwerkbeveiligingsgroep stroomt, te loggen. Als u niet zeker weet of de Microsoft.Insights--provider is geregistreerd, gebruikt u Providers - Registreer REST API om deze te registreren.

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

NSG-stroomlogboeken inschakelen

De opdracht voor het inschakelen van stroomlogboeken versie 2 wordt weergegeven in het volgende voorbeeld. Vervang voor versie 1 het veld Versie door '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

Het antwoord dat uit het voorgaande voorbeeld is geretourneerd, is als volgt:

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

Notitie

NSG-stroomlogboeken uitschakelen

Gebruik het volgende voorbeeld om stroomlogboeken uit te schakelen. De aanroep is hetzelfde als het inschakelen van flowlogs, behalve dat onwaar is ingesteld voor de eigenschap 'ingeschakeld'.

$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

Het antwoord dat uit het voorgaande voorbeeld is geretourneerd, is als volgt:

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

Notitie

Querystroomlogboeken

Met de volgende REST-aanroep wordt de status van stroomlogboeken in een netwerkbeveiligingsgroep opgevraagd.

$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

In het volgende voorbeeld ziet u het geretourneerde antwoord:

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

Notitie

Een stroomlogboek downloaden

De opslaglocatie van een stroomlogboek wordt gedefinieerd bij het maken. Een handig hulpprogramma voor toegang tot stroomlogboeken die zijn opgeslagen in een opslagaccount, is Microsoft Azure Storage Explorer. Zie Aan de slag met Storage Explorervoor meer informatie.

Als er een opslagaccount is opgegeven, worden pakketopnamebestanden opgeslagen in een opslagaccount op de volgende locatie:

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

Volgende stappen