Sdílet prostřednictvím


Správa protokolů toku NSG pomocí rozhraní REST API

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 pomocí rozhraní REST API povolit, zakázat a dotazovat protokoly toků pomocí rozhraní REST API. Dozvíte se, jak spravovat protokol toku NSG pomocí webu Azure Portal, PowerShellu, Azure CLI nebo šablony ARM.

V tomto článku se naučíte:

  • Povolení protokolů toku (verze 2)
  • Zakázání protokolů toku
  • Stav protokolů toku dotazů

Požadavky

  • Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
  • ARMClient. ARMClient je jednoduchý nástroj příkazového řádku pro vyvolání rozhraní API Azure Resource Manageru. Pokud chcete nástroj nainstalovat, přečtěte si téma ARMClient. Podrobné specifikace protokolů toku NSG najdete v tématu Protokoly toku – REST API.

Důležité

Když provedete volání rozhraní REST API do služby Network Watcher, název skupiny prostředků v identifikátoru URI požadavku odkazuje na skupinu prostředků, která obsahuje Network Watcher, nikoli prostředky, se kterými provádíte diagnostické akce.

Přihlášení pomocí ARMClient

Přihlaste se k armclient pomocí svých přihlašovacích údajů Azure.

armclient login

Registrace poskytovatele Insights

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ý, použijte poskytovatele – Zaregistrujte rozhraní REST API a zaregistrujte ho.

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

Povolení protokolů toku NSG

Příkaz pro povolení protokolů toku verze 2 je uvedený v následujícím příkladu. Pro verzi 1 nahraďte pole version za 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

Odpověď vrácená z předchozího příkladu je následující:

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

Poznámka:

Zákaz protokolů toku NSG

Pomocí následujícího příkladu zakažte protokoly toku. Volání je stejné jako povolení protokolů toku, s výjimkou false je nastavena pro povolenou vlastnost.

$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

Odpověď vrácená z předchozího příkladu je následující:

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

Poznámka:

Protokoly toku dotazů

Následující volání REST se dotazuje na stav protokolů toku ve skupině zabezpečení sítě.

$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

Následující příklad ukazuje vrácenou odpověď:

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

Poznámka:

Stažení protokolu toku

Umístění úložiště protokolu toku je definováno při vytváření. Pohodlný nástroj pro přístup k protokolům toku uloženým v účtu úložiště je Průzkumník služby Microsoft Azure Storage. Další informace najdete v tématu Začínáme s Průzkumník služby Storage.

Pokud je zadaný účet úložiště, soubory zachytávání paketů se uloží do účtu úložiště v následujícím umístění:

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

Další kroky