Udostępnij za pośrednictwem


Zarządzanie dziennikami przepływów sieciowej grupy zabezpieczeń przy użyciu interfejsu API REST

Ważne

30 września 2027 r. dzienniki przepływów sieciowej grupy zabezpieczeń zostaną wycofane. W ramach tego wycofania nie będzie już można tworzyć nowych dzienników przepływów sieciowej grupy zabezpieczeń od 30 czerwca 2025 r. Zalecamy migrację do dzienników przepływów sieci wirtualnej, co pozwala wyeliminować ograniczenia dzienników przepływów sieciowej grupy zabezpieczeń. Po dacie wycofania analiza ruchu włączona z dziennikami przepływów sieciowej grupy zabezpieczeń nie będzie już obsługiwana, a istniejące zasoby przepływów sieciowej grupy zabezpieczeń w subskrypcjach zostaną usunięte. Jednak rekordy dzienników przepływu sieciowej grupy zabezpieczeń nie zostaną usunięte i będą nadal zgodne z odpowiednimi zasadami przechowywania. Więcej informacji znajdziesz w oficjalnym ogłoszeniu.

Rejestrowanie przepływu sieciowej grupy zabezpieczeń to funkcja usługi Azure Network Watcher, która umożliwia rejestrowanie informacji o ruchu IP przepływającym przez sieciową grupę zabezpieczeń. Aby uzyskać więcej informacji na temat rejestrowania przepływu sieciowej grupy zabezpieczeń, zobacz Omówienie dzienników przepływu sieciowej grupy zabezpieczeń.

W tym artykule pokazano, jak używać interfejsu API REST do włączania, wyłączania i wysyłania zapytań do dzienników przepływu przy użyciu interfejsu API REST. Możesz dowiedzieć się, jak zarządzać dziennikiem przepływu sieciowej grupy zabezpieczeń przy użyciu witryny Azure Portal, programu PowerShell, interfejsu wiersza polecenia platformy Azure lub szablonu usługi ARM.

Z tego artykułu dowiesz się, jak wykonywać następujące działania:

  • Włączanie dzienników przepływu (wersja 2)
  • Wyłączanie dzienników przepływu
  • Stan dzienników przepływu zapytań

Wymagania wstępne

Ważne

Podczas wykonywania wywołań interfejsu API REST do usługi Network Watcher nazwa grupy zasobów w identyfikatorze URI żądania odwołuje się do grupy zasobów zawierającej usługę Network Watcher, a nie zasobów wykonywanych w ramach akcji diagnostycznych.

Logowanie przy użyciu klienta ARMClient

Zaloguj się do klienta armclient przy użyciu poświadczeń platformy Azure.

armclient login

Rejestrowanie dostawcy usługi Insights

Dostawca Microsoft.Insights musi być zarejestrowany w celu pomyślnego rejestrowania ruchu przepływającego przez sieciową grupę zabezpieczeń. Jeśli nie masz pewności, czy dostawca Microsoft.Insights jest zarejestrowany, użyj opcji Dostawcy — zarejestruj interfejs API REST, aby go zarejestrować.

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

Włączanie dzienników przepływu sieciowej grupy zabezpieczeń

W poniższym przykładzie pokazano polecenie umożliwiające włączenie dzienników przepływu w wersji 2. W przypadku wersji 1 zastąp pole "version" ciągiem "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

Odpowiedź zwrócona z poprzedniego przykładu wygląda następująco:

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

Uwaga

Wyłączanie dzienników przepływu sieciowych grup zabezpieczeń

Użyj poniższego przykładu, aby wyłączyć dzienniki przepływu. Wywołanie jest takie samo jak włączanie dzienników przepływu, z wyjątkiem wartości false dla właściwości włączonej.

$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

Odpowiedź zwrócona z poprzedniego przykładu wygląda następująco:

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

Uwaga

Dzienniki przepływu zapytań

Następujące wywołanie REST wykonuje zapytanie dotyczące stanu dzienników przepływu w sieciowej grupie zabezpieczeń.

$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

W poniższym przykładzie przedstawiono zwróconą odpowiedź:

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

Uwaga

Pobieranie dziennika przepływu

Lokalizacja magazynu dziennika przepływu jest definiowana podczas tworzenia. Wygodne narzędzie do uzyskiwania dostępu do dzienników przepływu zapisanych na koncie magazynu jest Eksplorator usługi Microsoft Azure Storage. Aby uzyskać więcej informacji, zobacz Wprowadzenie do Eksplorator usługi Storage.

Jeśli określono konto magazynu, pliki przechwytywania pakietów są zapisywane na koncie magazynu w następującej lokalizacji:

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

Następne kroki