Gérer des journaux de flux NSG avec l’API REST
Important
Le 30 septembre 2027, les journaux de flux de groupe de sécurité réseau (NSG) seront mis hors service. Dans le cadre de cette mise hors service, vous ne pourrez plus créer de journaux de flux de NSG à compter du 30 juin 2025. Nous vous recommandons de migrer vers des journaux de flux de réseau virtuel, qui surmontent les limitations des journaux de flux de NSG. Après la date de mise hors service, l’analytique du trafic activée avec les journaux de flux de NSG ne sera plus prise en charge, et les ressources de journaux de flux de NSG existantes dans vos abonnements seront supprimées. Toutefois, les enregistrements des journaux de flux de 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.
Les journaux de flux NSG sont une fonctionnalité d’Azure Network Watcher qui vous permet de journaliser des informations sur le trafic IP circulant dans un groupe de sécurité réseau. Pour plus d’informations sur la journalisation de flux du groupe de sécurité réseau (NSG, Network Security Group), voir la Vue d’ensemble des journaux de flux NSG.
Cet article vous indique comment utiliser l’API REST pour activer, désactiver et interroger les journaux de flux. Vous pouvez apprendre à gérer un journal de flux NSG à l’aide du Portail Azure, de PowerShell, d’Azure CLI ou du modèle ARM.
Dans cet article, vous apprenez à effectuer les actions suivantes :
- Activer les journaux d’activité des flux (version 2)
- Désactiver les journaux d’activité des flux
- Interroger l’état des journaux d’activité des flux
Prérequis
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- ARMClient. ARMClient est un simple outil de ligne de commande qui permet d’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 passez des appels d’API REST vers 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 les ressources sur lesquelles vous exécutez les actions de diagnostic.
Se connecter avec ARMClient
Connectez-vous à armclient avec vos informations d’identification Azure.
armclient login
Inscription du fournisseur Insights
Le fournisseur Microsoft.Insights doit être inscrit pour enregistrer correctement le trafic transitant par un groupe de sécurité réseau. Si vous n’êtes pas sûr que le fournisseur Microsoft.Insights est inscrit, utilisez l’API REST Fournisseurs - Registre 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 d’activation des 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 renvoyée par 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
}
}
}
Notes
- L’API REST Network Watchers - Définir la configuration des journaux de flux utilisée dans l’exemple précédent est ancienne et pourrait bientôt être déconseillée.
- Il est recommandé d’utiliser la nouvelle API REST Journaux de flux - Créer ou mettre à jour pour créer ou mettre à jour de nouveaux journaux de flux.
Désactiver les Journaux de flux NSG
Utilisez l’exemple ci-après pour désactiver les journaux d’activité des flux. L’appel est identique à l’activation des journaux d’activité des flux, à l’exception de la définition de la propriété enabled sur la valeur false.
$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 renvoyée par 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
}
}
}
Notes
- L’API REST Network Watchers - Définir la configuration des journaux de flux utilisée dans l’exemple précédent est ancienne et pourrait bientôt être déconseillée.
- Il est recommandé d’utiliser la nouvelle API REST Journaux de flux - Créer ou mettre à jour pour désactiver les journaux de flux et l’API REST Journaux de flux - Supprimer pour supprimer une ressource de journaux de flux.
Interroger les journaux d’activité des flux
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
}
}
}
Notes
- L’API REST Network Watchers - Obtenir l’état des journaux de flux utilisée dans l’exemple précédent nécessite une autorisation lecteur supplémentaire dans le groupe de ressources du Network Watcher. De plus, cette API est ancienne et pourrait bientôt être déconseillée.
- Il est recommandé d’utiliser la nouvelle API REST Journaux de flux - Get pour interroger des journaux de flux.
Télécharger un journal de flux
L’emplacement de stockage d’un journal de flux est défini au moment de la création. L’Explorateur Stockage Microsoft Azure est un outil pratique pour accéder aux journaux de flux enregistrés dans un compte de stockage. 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
- Pour savoir comment utiliser des stratégies intégrées Azure pour auditer ou déployer des journaux de flux NSG, consultez Gérer les journaux de flux NSG à l’aide d’Azure Policy.
- Pour en savoir plus sur l'analyse du trafic, voir Analyse du trafic.