Gérer les journaux de flux NSG avec Azure PowerShell

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 allez apprendre à créer, modifier, désactiver ou supprimer un journal de flux NSG à l’aide de Azure PowerShell. Vous pouvez apprendre à gérer un journal de flux NSG à l’aide du Portail Azure, d’Azure CLI, de l’API REST ou du modèle ARM.

Prérequis

  • Compte Azure avec un abonnement actif. Créez un compte gratuitement.

  • Fournisseur d’insights. Pour plus d’informations, consultez Inscrire le fournisseur Insights.

  • Un groupe de sécurité réseau. Si vous devez créer un groupe de sécurité réseau, consultez Créer, modifier ou supprimer un groupe de sécurité réseau.

  • Un compte de stockage Azure. Si vous devez créer un compte de stockage, consultez Créer un compte de stockage avec PowerShell.

  • Azure Cloud Shell ou Azure PowerShell installé localement.

    • Les étapes de cet article exécutent les applets de commande Azure PowerShell de manière interactive dans Azure Cloud Shell. Pour exécuter les commandes dans le Cloud Shell, sélectionnez Ouvrir Cloud Shell dans le coin supérieur droit d’un bloc de code. Sélectionnez Copier pour copier le code, puis collez-le dans Cloud Shell pour l’exécuter. Vous pouvez également exécuter le Cloud Shell à partir du Portail Azure.

    • Vous pouvez également installer Azure PowerShell localement pour exécuter les applets de commande. Cet article nécessite le module Az PowerShell. Pour plus d’informations, consultez Comment installer Azure PowerShell. Pour trouver la version installée, exécutez Get-InstalledModule -Name Az. Si vous exécutez PowerShell localement, connectez-vous à Azure avec la cmdlet Connect-AzAccount.

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 ne savez pas si le fournisseur Microsoft.Insights est inscrit, utilisez Register-AzResourceProvider pour l’inscrire.

# Register Microsoft.Insights provider.
Register-AzResourceProvider -ProviderNamespace 'Microsoft.Insights'

Créer un journal de flux

  1. Obtenez les propriétés du groupe de sécurité réseau pour lequel vous souhaitez créer le journal de flux et le compte de stockage que vous souhaitez utiliser pour stocker le journal de flux créé à l’aide de Get-AzNetworkSecurityGroup et Get-AzStorageAccount, respectivement.

    # Place the network security group properties into a variable.
    $nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'
    
    # Place the storage account properties into a variable.
    $sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
    

    Notes

    • Si le compte de stockage se trouve dans un autre abonnement, le groupe de sécurité réseau et le compte de stockage doivent être associés au même locataire Azure Active Directory. Le compte que vous utilisez pour chaque abonnement doit avoir les autorisations nécessaires.
  2. Créez le journal de flux à l’aide de New-AzNetworkWatcherFlowLog. Le journal de flux est créé dans le Network Watcher groupe de ressources par défaut NetworkWatcherRG.

    # Create a version 1 NSG flow log.
    New-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -Enabled $true
    

Créer un journal de flux et un espace de travail Traffic Analytics

  1. Obtenez les propriétés du groupe de sécurité réseau pour lequel vous souhaitez créer le journal de flux et le compte de stockage que vous souhaitez utiliser pour stocker le journal de flux créé à l’aide de Get-AzNetworkSecurityGroup et Get-AzStorageAccount, respectivement.

    # Place the network security group properties into a variable.
    $nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'
    
    # Place the storage account properties into a variable.
    $sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
    

    Notes

    • Le compte de stockage ne peut pas avoir de règles réseau qui limitent l’accès réseau pour les services Microsoft ou des réseaux virtuels spécifiques uniquement.
    • Si le compte de stockage se trouve dans un autre abonnement, le groupe de sécurité réseau et le compte de stockage doivent être associés au même locataire Azure Active Directory. Le compte que vous utilisez pour chaque abonnement doit avoir les autorisations nécessaires.
  2. Créez un espace de travail Traffic Analytics à l’aide de New-AzOperationalInsightsWorkspace.

    # Create a traffic analytics workspace and place its properties into a variable.
    $workspace = New-AzOperationalInsightsWorkspace -Name 'myWorkspace' -ResourceGroupName 'myResourceGroup' -Location 'eastus'
    
  3. Créez le journal de flux à l’aide de New-AzNetworkWatcherFlowLog. Le journal de flux est créé dans le Network Watcher groupe de ressources par défaut NetworkWatcherRG.

    # Create a version 1 NSG flow log with traffic analytics.
    New-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -Enabled $true -EnableTrafficAnalytics -TrafficAnalyticsWorkspaceId $workspace.ResourceId
    

Modifier un journal de flux

Vous pouvez utiliser Set-AzNetworkWatcherFlowLog pour modifier les propriétés d’un journal de flux. Par exemple, vous pouvez modifier la version du journal de flux ou désactiver l’analyse du trafic.

# Place the network security group properties into a variable.
$nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'

# Place the storage account properties into a variable.
$sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'

# Update the NSG flow log.
Set-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -Enabled $true -FormatVersion 2 

Répertorier tous les journaux de flux d’une région

Utilisez Get-AzNetworkWatcherFlowLog pour répertorier toutes les ressources de journal de flux NSG dans une région particulière de votre abonnement.

# Get all NSG flow logs in East US region.
Get-AzNetworkWatcherFlowLog -Location 'eastus' | format-table Name

Notes

Pour utiliser le paramètre avec -Location la cmdlet Get-AzNetworkWatcherFlowLog, vous avez besoin d’une autorisation Lecteur supplémentaire dans le groupe de ressources NetworkWatcherRG.

Afficher les détails d’une ressource de journal de flux

Utilisez Get-AzNetworkWatcherFlowLog pour afficher les détails d’une ressource de journal de flux.

# Get the details of a flow log.
Get-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus'

Notes

Pour utiliser le paramètre avec -Location la cmdlet Get-AzNetworkWatcherFlowLog, vous avez besoin d’une autorisation Lecteur supplémentaire dans le groupe de ressources NetworkWatcherRG.

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. Pour accéder aux journaux de flux et les télécharger à partir de votre compte de stockage, vous pouvez utiliser Explorateur Stockage Azure. Pour plus d’informations, consultez Prise en main de l’Explorateur Stockage.

Les fichiers journal de flux NSG enregistrés dans un compte de stockage suivent le chemin d’accès suivant :

https://{storageAccountName}.blob.core.windows.net/insights-logs-networksecuritygroupflowevent/resourceId=/SUBSCRIPTIONS/{subscriptionID}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/{NetworkSecurityGroupName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json

Pour plus d’informations sur la structure d’un journal de flux, consultez Journaux de flux NSG format journal.

Désactiver un journal de flux

Pour désactiver un journal de flux sans le supprimer, utilisez Set-AzNetworkWatcherFlowLog avec le paramètre -Enabled $false. La désactivation d’un journal de flux arrête la journalisation des flux pour le groupe de sécurité réseau associé. Toutefois, la ressource journal de flux est conservée avec tous ses paramètres et associations. Vous pouvez le réactiver à tout moment pour reprendre la journalisation des flux pour le groupe de sécurité réseau configuré.

Notes

Si l’analytique du trafic est activée pour un journal de flux, elle doit être désactivée avant que vous puissiez désactiver le journal de flux.

# Place the network security group properties into a variable.
$nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'

# Place the storage account properties into a variable.
$sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'

# Update the NSG flow log.
Set-AzNetworkWatcherFlowLog -Enabled $false -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id

Supprimer un journal de flux

Pour supprimer définitivement un journal de flux NSG, utilisez la commande Remove-AzNetworkWatcherFlowLog . La suppression d’un journal de flux supprime tous ses paramètres et associations. Pour recommencer la journalisation des flux pour le même groupe de sécurité réseau, vous devez créer un journal de flux pour celui-ci.

# Delete the flow log.
Remove-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus'

Notes

La suppression d’un journal de flux ne supprime pas les données du journal de flux du compte de stockage. Les données des journaux de flux stockées dans le compte de stockage suivent la stratégie de rétention configurée.

Étapes suivantes