NSG-folyamatnaplók kezelése REST API használatával

A hálózati biztonsági csoportok folyamatnaplózása az Azure Network Watcher egyik funkciója, amellyel naplózhatja a hálózati biztonsági csoporton áthaladó IP-forgalom adatait. A hálózati biztonsági csoportok folyamatnaplózásáról további információt az NSG-folyamatnaplók áttekintésében talál.

Ez a cikk bemutatja, hogyan használhatja a REST API-t a folyamatnaplók engedélyezésére, letiltására és lekérdezésére a REST API használatával. Megtudhatja, hogyan kezelheti az NSG-folyamatnaplókat az Azure Portal, a PowerShell, az Azure CLI vagy az ARM-sablon használatával.

Ebből a cikkből megtudhatja, hogyan:

  • Folyamatnaplók engedélyezése (2. verzió)
  • Folyamatnaplók letiltása
  • Lekérdezési folyamat naplóinak állapota

Előfeltételek

  • Egy Azure-fiók, aktív előfizetéssel. Fiók ingyenes létrehozása.
  • ARMClient. Az ARMClient egy egyszerű parancssori eszköz az Azure Resource Manager API meghívásához. Az eszköz telepítéséhez tekintse meg az ARMClientet. Az NSG-folyamatnaplók REST API-jának részletes specifikációiért lásd : Flow Logs – REST API

Fontos

Amikor REST API-hívásokat indít a Network Watchernek, a kérelem URI-jában szereplő erőforráscsoport neve a Network Watchert tartalmazó erőforráscsoportra hivatkozik, nem pedig a diagnosztikai műveleteket végrehajtó erőforrásokra.

Bejelentkezés az ARMClient használatával

Jelentkezzen be az armclientbe az Azure-beli hitelesítő adataival.

armclient login

Insights-szolgáltató regisztrálása

Microsoft. Elemzések szolgáltatót regisztrálni kell a hálózati biztonsági csoporton áthaladó forgalom sikeres naplózásához. Ha nem biztos abban, hogy a Microsoft.Elemzések szolgáltató regisztrálva van, használja a Szolgáltatók – REST API regisztrálása lehetőséget.

$subscriptionId = "00000000-0000-0000-0000-000000000000"
armclient post "https://management.azure.com//subscriptions/${subscriptionId}/providers/Microsoft.Insights/register?api-version=2021-04-01"

NSG-folyamatnaplók engedélyezése

A folyamatnaplók 2. verziójának engedélyezésére szolgáló parancs az alábbi példában látható. Az 1. verzió esetében cserélje le a "verzió" mezőt az "1" mezőre:

$subscriptionId = "00000000-0000-0000-0000-000000000000"
$targetUri = "" # example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resourceGroupName/providers/Microsoft.Network/networkSecurityGroups/{nsgName}"
$storageId = "/subscriptions/00000000-0000-0000-0000-000000000000/{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

Az előző példából visszaadott válasz a következő:

{
  "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{nsgName}",
  "properties": {
    "storageId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{saName}",
    "enabled": true,
    "retentionPolicy": {
      "days": 5,
      "enabled": true
    },
    "format": {
    "type": "JSON",
    "version": 2
    }
  }
}

Feljegyzés

Az NSG-forgalom naplóinak letiltása

Az alábbi példában tiltsa le a folyamatnaplókat. A hívás megegyezik a folyamatnaplók engedélyezésével, kivéve, hogy a false értéke az engedélyezett tulajdonsághoz van beállítva.

$subscriptionId = "00000000-0000-0000-0000-000000000000"
$targetUri = "" # example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resourceGroupName/providers/Microsoft.Network/networkSecurityGroups/{nsgName}"
$storageId = "/subscriptions/00000000-0000-0000-0000-000000000000/{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

Az előző példából visszaadott válasz a következő:

{
  "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{nsgName}",
  "properties": {
    "storageId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{saName}",
    "enabled": false,
    "retentionPolicy": {
      "days": 5,
      "enabled": true
    },
    "format": {
    "type": "JSON",
    "version": 2
    }
  }
}

Feljegyzés

Lekérdezési folyamat naplói

A következő REST-hívás lekérdezi a hálózati biztonsági csoport folyamatnaplóinak állapotát.

$subscriptionId = "00000000-0000-0000-0000-000000000000"
$targetUri = "" # example /subscriptions/00000000-0000-0000-0000-000000000000/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

Az alábbi példa a visszaadott választ mutatja be:

{
  "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{nsgName}",
  "properties": {
    "storageId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{saName}",
    "enabled": true,
   "retentionPolicy": {
      "days": 5,
      "enabled": true
    },
    "format": {
    "type": "JSON",
    "version": 2
    }
  }
}

Feljegyzés

Folyamatnapló letöltése

A folyamatnapló tárolási helye a létrehozáskor van meghatározva. A tárfiókba mentett folyamatnaplók elérésének kényelmes eszköze a Microsoft Azure Storage Explorer. További információ: A Storage Explorer használatának első lépései.

Ha meg van adva tárfiók, a csomagrögzítési fájlokat a rendszer a következő helyen menti egy tárfiókba:

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

Következő lépések

  • Ha tudni szeretné, hogyan használhatja az Azure beépített szabályzatait az NSG-folyamatnaplók naplózására vagy üzembe helyezésére, olvassa el az NSG-folyamatnaplók Azure Policy használatával történő kezelését ismertető témakört.
  • A forgalomelemzéssel kapcsolatos további információkért lásd : Traffic analytics.