Partager via


Gérer les journaux de flux NSG à l’aide de l’API REST

Important

Le 30 septembre 2027, les journaux de flux du groupe de sécurité réseau (NSG) seront supprimés. Dans le cadre de cette mise hors service, vous ne pourrez plus créer de journaux de flux NSG à compter du 30 juin 2025. Nous vous recommandons de migrer vers les journaux de flux de réseau virtuel , qui surmontent les limitations des journaux de flux NSG. Après la date de mise hors service, l’analytique du trafic activée avec les journaux de flux NSG n’est plus prise en charge, et les ressources de journaux de flux NSG existantes dans vos abonnements sont supprimées. Toutefois, les enregistrements des journaux de flux NSG ne seront pas supprimés et continueront de suivre leurs stratégies de rétention respectives. Pour plus d’informations, consultez l’annonce officielle .

La journalisation des flux de groupe de sécurité réseau est une fonctionnalité d’Azure Network Watcher qui vous permet de journaliser des informations sur le trafic IP transitant par un groupe de sécurité réseau. Pour plus d'informations sur la vue d'ensemble des journaux de flux du groupe de sécurité réseau, consultez .

Cet article vous montre comment utiliser l’API REST pour activer, désactiver et interroger les journaux de flux à l’aide de l’API REST. Vous pouvez apprendre à gérer un journal de flux NSG à l’aide du portail Azure , de PowerShell , d'Azure CLI , ou d'un modèle ARM .

Dans cet article, uou apprend à :

  • Activer les journaux de flux (version 2)
  • Désactiver les journaux de flux
  • État des journaux de flux de requête

Conditions préalables

  • Un compte Azure avec un abonnement actif. Créer un compte gratuitement.
  • ARMClient. ARMClient est un outil en ligne de commande simple pour appeler l’API Azure Resource Manager. Pour installer l’outil, consultez ARMClient . Pour obtenir des spécifications détaillées de l’API REST des journaux de flux NSG, consultez Journaux de flux - API REST

Important

Lorsque vous effectuez des appels d’API REST à Network Watcher, le nom du groupe de ressources dans l’URI de requête fait référence au groupe de ressources qui contient Network Watcher, et non aux ressources sur lesquelles vous effectuez les actions de diagnostic.

Se connecter avec ARMClient

Connectez-vous à armclient avec vos informations d’identification Azure.

armclient login

Inscrire un fournisseur Insights

fournisseur Microsoft.Insights doit être inscrit pour journaliser correctement le trafic transitant par le biais d’un groupe de sécurité réseau. Si vous ne savez pas si le fournisseur Microsoft.Insights est inscrit, utilisez Fournisseurs - Inscrire API REST pour l’inscrire.

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

Activer les journaux de flux NSG

La commande permettant d’activer les journaux de flux version 2 est illustrée dans l’exemple suivant. Pour la version 1, remplacez le champ « version » par « 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

La réponse retournée à partir de l’exemple précédent est la suivante :

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

Note

Désactiver les journaux de flux NSG

Utilisez l’exemple suivant pour désactiver les journaux de flux. L'appel est identique à l'activation des journaux de flux, sauf que false est configurée pour la propriété activée.

$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

La réponse retournée à partir de l’exemple précédent est la suivante :

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

Note

Journaux des flux de requêtes

L’appel REST suivant interroge l’état des journaux de flux sur un groupe de sécurité réseau.

$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

L’exemple suivant montre la réponse retournée :

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

Note

  • La Network Watchers - Obtenir l’état du journal de flux API REST utilisée dans l’exemple précédent nécessite une autorisation supplémentaire lecteur dans le groupe de ressources de l’observateur réseau. En outre, cette API est ancienne et peut bientôt être déconseillée.
  • Il est recommandé d'utiliser la nouvelle API REST des journaux de flux - Obtenir pour interroger les journaux de flux.

Télécharger un journal de flux

L’emplacement de stockage d’un journal de flux est défini lors de la création. Un outil pratique pour accéder aux journaux de flux enregistrés dans un compte de stockage est l’Explorateur Stockage Microsoft Azure. Pour plus d’informations, consultez Prise en main de l’Explorateur Stockage.

Si un compte de stockage est spécifié, les fichiers de capture de paquets sont enregistrés dans un compte de stockage à l’emplacement suivant :

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

Étapes suivantes