Gérer des journaux de flux NSG utilisant un modèle Azure Resource Manager
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, voir la Vue d’ensemble des journaux de flux NSG.
Dans cet article, vous apprendrez comment gérer les journaux de flux NSG programmatiquement avec un modèle Azure Resource Manager et Azure PowerShell. Vous pouvez apprendre à gérer un journal de flux NSG à l’aide du Portail Azure, de PowerShell, d’Azure CLI ou de l’API REST.
Un modèle Azure Resource Manager est un fichier JSON (JavaScript Object Notation) qui définit l’infrastructure et la configuration pour votre projet en utilisant la syntaxe déclarative.
Prérequis
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
Objet journaux de flux NSG
L’objet de journaux de flux NSG ainsi que tous les paramètres sont indiqués dans l’exemple suivant. Pour obtenir une vue d’ensemble complète des propriétés de l’objet, voir informations de référence sur le modèle de journaux de flux NSG.
{
"name": "string",
"type": "Microsoft.Network/networkWatchers/flowLogs",
"location": "string",
"apiVersion": "2022-07-01",
"properties": {
"targetResourceId": "string",
"storageId": "string",
"enabled": "boolean",
"flowAnalyticsConfiguration": {
"networkWatcherFlowAnalyticsConfiguration": {
"enabled": "boolean",
"workspaceResourceId": "string",
"trafficAnalyticsInterval": "integer"
},
"retentionPolicy": {
"days": "integer",
"enabled": "boolean"
},
"format": {
"type": "string",
"version": "integer"
}
}
}
}
Pour créer une ressource Microsoft.Network/networkWatchers/flowLogs, ajoutez le code JSON ci-dessus à la section des ressources de votre modèle.
Créer votre modèle
Pour en savoir plus sur la création de modèles Azure Resource Manager, voir :
- Déployer des ressources à l’aide de modèles Resource Manager et d’Azure PowerShell
- Tutoriel : Créer et déployer votre premier modèle Azure Resource Manager
Les exemples suivants présentent des modèles complets pour activer les journaux de flux NSG.
Exemple 1
Exemple 1 : utilise la version la plus simple des informations du modèle ARM dans laquelle sont transmis les paramètres minimaux. Le modèle suivant active les journaux de flux du groupe de sécurité réseau sur un groupe de sécurité réseau cible et les stocke dans un compte de stockage donné.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"apiProfile": "2019-09-01",
"resources": [
{
"name": "myNSG-myresourcegroup-flowlog",
"type": "Microsoft.Network/networkWatchers/FlowLogs/",
"location": "eastus",
"apiVersion": "2022-11-01",
"properties": {
"targetResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNSG",
"storageId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
"enabled": true,
"flowAnalyticsConfiguration": {},
"retentionPolicy": {},
"format": {}
}
}
]
}
Notes
targetResourceId
est l’ID de ressource du groupe de sécurité réseau cible.storageId
est l’ID de ressource du compte de stockage de destination.
Exemple 2
L’exemple 2 utilise le modèle suivant pour activer les journaux de flux NSG (version 2) avec une rétention de 5 jours et l’analyse du trafic avec un intervalle de traitement de 10 minutes.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"apiProfile": "2019-09-01",
"resources": [
{
"name": "myNSG-myresourcegroup-flowlog",
"type": "Microsoft.Network/networkWatchers/FlowLogs/",
"location": "eastus",
"apiVersion": "2022-11-01",
"properties": {
"targetResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNSG",
"storageId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
"enabled": true,
"flowAnalyticsConfiguration": {
"networkWatcherFlowAnalyticsConfiguration": {
"enabled": true,
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/defaultresourcegroup-eus/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e-EUS",
"trafficAnalyticsInterval": 10
}
},
"retentionPolicy": {
"days": 5,
"enabled": true
},
"format": {
"type": "JSON",
"version": 2
}
}
}
]
}
Notes
targetResourceId
est l’ID de ressource du groupe de sécurité réseau cible.storageId
est l’ID de ressource du compte de stockage de destination.workspaceResourceId
est l’ID de ressource de l’espace de travail Traffic Analytics.
Déploiement de votre modèle Azure Resource Manager
Ce tutoriel part du principe que vous disposez d’un groupe de ressources et d’un groupe de sécurité réseau sur lequel vous pouvez activer la journalisation de flux.
Vous pouvez enregistrer les exemples de modèles ci-dessus localement en tant que azuredeploy.json
. Mettez à jour les valeurs de propriété afin qu’elles pointent vers des ressources valides dans votre abonnement.
Pour déployer le modèle, exécutez la commande suivante dans PowerShell.
$context = Get-AzSubscription -SubscriptionId <SubscriptionId>
Set-AzContext $context
New-AzResourceGroupDeployment -Name EnableFlowLog -ResourceGroupName NetworkWatcherRG `
-TemplateFile "C:\MyTemplates\azuredeploy.json"
Notes
Les commandes suivantes déploient une ressource dans le groupe de ressources NetworkWatcherRG et non le groupe de ressources contenant le groupe de sécurité réseau.
Vérifier votre déploiement
Il existe deux façons de vérifier si votre déploiement a réussi. Votre console PowerShell doit indiquer « Succeeded » (réussite) pour « ProvisioningState ». Vous pouvez aussi vérifier vos modifications dans la page du portail dédiée aux journaux de flux du groupe de sécurité réseau. Si vous rencontrez des problèmes lors du déploiement, consultez Résolution des erreurs courantes dans un déploiement Azure avec Azure Resource Manager.
Supprimer votre ressource
Azure permet la suppression des ressources via le mode de déploiement Complet. Pour supprimer une ressource de journaux de flux, spécifiez un déploiement en mode complet sans inclure la ressource que vous souhaitez supprimer. Pour plus d’informations, consultez Modes de déploiement complet.
É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.