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:
- Network Watchers – Nastavení rozhraní REST API konfigurace protokolu toku použitého v předchozím příkladu je staré a může být brzy zastaralé.
- K vytváření nebo aktualizaci protokolů toku se doporučuje použít nové protokoly toku – vytvoření nebo aktualizace rozhraní REST API.
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:
- Network Watchers – Nastavení rozhraní REST API konfigurace protokolu toku použitého v předchozím příkladu je staré a může být brzy zastaralé.
- Doporučujeme použít nové protokoly toku – Vytvoření nebo aktualizace rozhraní REST API k zakázání protokolů toku a protokolů toku – Odstranění rozhraní REST API k odstranění prostředku protokolů toku.
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:
- Network Watchers – Získání rozhraní REST API pro stav protokolu toku použité v předchozím příkladu vyžaduje další oprávnění čtenáře ve skupině prostředků sledovacího procesu sítě. Toto rozhraní API je navíc staré a může být brzy zastaralé.
- K dotazování protokolů toku se doporučuje použít nové protokoly toku – Získání rozhraní REST API.
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
- Informace o použití předdefinovaných zásad Azure k auditování nebo nasazení protokolů toku NSG najdete v tématu Správa protokolů toku NSG pomocí Azure Policy.
- Další informace o analýze provozu najdete v tématu Analýza provozu.