Поделиться через


Управление журналами потоков NSG с помощью Azure PowerShell

Внимание

30 сентября 2027 г. журналы потоков безопасности сети (NSG) будут прекращены. В рамках этого выхода на пенсию вы больше не сможете создавать новые журналы потоков NSG с 30 июня 2025 года. Мы рекомендуем перенести журналы потоков виртуальной сети, которые преодолевают ограничения журналов потоков NSG. После выхода на пенсию аналитика трафика, включенная с помощью журналов потоков NSG, больше не будет поддерживаться, а существующие ресурсы журналов потоков NSG в подписках будут удалены. Однако записи журналов потоков NSG не будут удалены и будут продолжать следовать соответствующим политикам хранения. Дополнительные сведения см. в официальном объявлении.

Ведение журнала потоков группы безопасности сети — это функция Azure Наблюдатель за сетями, которая позволяет записывать сведения о IP-трафике, проходящим через группу безопасности сети. Дополнительные сведения о ведении журнала потоков группы безопасности сети см. в обзоре журналов потоков NSG.

Из этой статьи вы узнаете, как создавать, изменять, отключать или удалять журнал потоков NSG с помощью Azure PowerShell. Вы можете узнать, как управлять журналом потоков NSG с помощью портал Azure, Azure CLI, REST API или шаблона ARM.

Необходимые компоненты

  • Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .

  • Поставщик аналитики. Дополнительные сведения см. в разделе Register Insights Provider.

  • Группа безопасности сети. Если необходимо создать группу безопасности сети, см. статью "Создание, изменение" или удаление группы безопасности сети.

  • Учетная запись хранения Azure. Если вам нужно создать учетную запись хранения, см . статью о создании учетной записи хранения с помощью PowerShell.

  • Azure Cloud Shell или Azure PowerShell , установленные локально.

    • Действия, описанные в этой статье, выполняют командлеты Azure PowerShell в интерактивном режиме в Azure Cloud Shell. Чтобы выполнить команды в Cloud Shell, выберите Open Cloud Shell в правом верхнем углу блока кода. Выберите "Копировать", чтобы скопировать код, а затем вставьте его в Cloud Shell, чтобы запустить его. Вы также можете запустить Cloud Shell из портал Azure.

    • Вы также можете установить Azure PowerShell локально для выполнения командлетов. Для этой статьи требуется модуль Az PowerShell. Дополнительные сведения см. в статье "Установка Azure PowerShell". Выполните командлет Get-InstalledModule -Name Az, чтобы узнать установленную версию. При локальном запуске PowerShell войдите в Azure с помощью командлета Connect-AzAccount .

Регистрация поставщика аналитики

Поставщик Microsoft.Insights должен быть зарегистрирован для успешного передачи трафика журнала через группу безопасности сети. Если вы не уверены , зарегистрирован ли поставщик Microsoft.Insights , используйте Register-AzResourceProvider для его регистрации.

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

Создание журнала потока

  1. Получите свойства группы безопасности сети, для которой требуется создать журнал потоков и учетную запись хранения, которую вы хотите использовать для хранения созданного журнала потоков с помощью Get-AzNetworkSecurityGroup и Get-AzStorageAccount соответственно.

    # 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'
    

    Примечание.

    • Если учетная запись хранения находится в другой подписке, группа безопасности сети и учетная запись хранения должны быть связаны с тем же клиентом Azure Active Directory. Используемая учетная запись для каждой подписки должна иметь необходимые разрешения.
  2. Создайте журнал потоков с помощью New-AzNetworkWatcherFlowLog. Журнал потоков создается в группе ресурсов по умолчанию NetworkWatcherRG Наблюдатель за сетями.

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

Создание рабочей области журнала потоков и аналитики трафика

  1. Получите свойства группы безопасности сети, для которой требуется создать журнал потоков и учетную запись хранения, которую вы хотите использовать для хранения созданного журнала потоков с помощью Get-AzNetworkSecurityGroup и Get-AzStorageAccount соответственно.

    # 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'
    

    Примечание.

    • У учетной записи хранения не могут быть правила сети, ограничивающие доступ к сети только службы Майкрософт или определенным виртуальным сетям.
    • Если учетная запись хранения находится в другой подписке, группа безопасности сети и учетная запись хранения должны быть связаны с тем же клиентом Azure Active Directory. Используемая учетная запись для каждой подписки должна иметь необходимые разрешения.
  2. Создайте рабочую область аналитики трафика с помощью New-AzOperationalInsightsWorkspace.

    # Create a traffic analytics workspace and place its properties into a variable.
    $workspace = New-AzOperationalInsightsWorkspace -Name 'myWorkspace' -ResourceGroupName 'myResourceGroup' -Location 'eastus'
    
  3. Создайте журнал потоков с помощью New-AzNetworkWatcherFlowLog. Журнал потоков создается в группе ресурсов по умолчанию 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
    

Изменение журнала потока

С помощью Set-AzNetworkWatcherFlowLog можно изменить свойства журнала потоков. Например, можно изменить версию журнала потоков или отключить аналитику трафика.

# 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 

Вывод списка всех журналов потоков в регионе

Используйте Get-AzNetworkWatcherFlowLog для перечисления всех ресурсов журнала потоков NSG в определенном регионе в подписке.

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

Примечание.

Чтобы использовать -Location параметр с Get-AzNetworkWatcherFlowLog командлетом, необходимо дополнительное разрешение читателя в группе ресурсов NetworkWatcherRG .

Просмотр сведений о ресурсе журнала потоков

Используйте Get-AzNetworkWatcherFlowLog , чтобы просмотреть сведения о ресурсе журнала потоков.

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

Примечание.

Чтобы использовать -Location параметр с Get-AzNetworkWatcherFlowLog командлетом, необходимо дополнительное разрешение читателя в группе ресурсов NetworkWatcherRG .

Скачивание журнала потоков

Место хранения журнала потоков определяется при его создании. Чтобы получить доступ к журналам потоков и скачать их из учетной записи хранения, можно использовать обозреватель служба хранилища Azure. Дополнительные сведения см. в статье "Начало работы с Обозреватель службы хранилища".

Файлы журнала потоков NSG, сохраненные в учетной записи хранения, соответствуют этому пути:

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

Сведения о структуре журнала потоков см . в формате журнала потоков NSG.

Отключение журнала потока

Чтобы временно отключить журнал потоков без его удаления, используйте Set-AzNetworkWatcherFlowLog с параметром -Enabled $false . Отключение журнала потока останавливает ведение журнала потоков для связанной группы безопасности сети. Однако ресурс журнала потоков остается со всеми параметрами и связями. Вы можете повторно включить его в любое время, чтобы возобновить ведение журнала потоков для настроенной группы безопасности сети.

Примечание.

Если аналитика трафика включена для журнала потоков, она должна быть отключена, прежде чем отключить журнал потоков.

# 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

Удаление журнала потока

Чтобы окончательно удалить журнал потоков NSG, используйте команду Remove-AzNetworkWatcherFlowLog . При удалении журнала потоков удаляются все его параметры и связи. Чтобы начать ведение журнала потоков для той же группы безопасности сети, необходимо создать для него новый журнал потоков.

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

Примечание.

Удаление журнала потока не удаляет данные журнала потоков из учетной записи хранения. Журналы потоков, хранящиеся в учетной записи хранения, соответствуют настроенной политике хранения.