Управление журналами потоков 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'
Создание журнала потока
Получите свойства группы безопасности сети, для которой требуется создать журнал потоков и учетную запись хранения, которую вы хотите использовать для хранения созданного журнала потоков с помощью 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. Используемая учетная запись для каждой подписки должна иметь необходимые разрешения.
Создайте журнал потоков с помощью New-AzNetworkWatcherFlowLog. Журнал потоков создается в группе ресурсов по умолчанию NetworkWatcherRG Наблюдатель за сетями.
# Create a version 1 NSG flow log. New-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -Enabled $true
Создание рабочей области журнала потоков и аналитики трафика
Получите свойства группы безопасности сети, для которой требуется создать журнал потоков и учетную запись хранения, которую вы хотите использовать для хранения созданного журнала потоков с помощью 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. Используемая учетная запись для каждой подписки должна иметь необходимые разрешения.
Создайте рабочую область аналитики трафика с помощью New-AzOperationalInsightsWorkspace.
# Create a traffic analytics workspace and place its properties into a variable. $workspace = New-AzOperationalInsightsWorkspace -Name 'myWorkspace' -ResourceGroupName 'myResourceGroup' -Location 'eastus'
Создайте журнал потоков с помощью 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'
Примечание.
Удаление журнала потока не удаляет данные журнала потоков из учетной записи хранения. Журналы потоков, хранящиеся в учетной записи хранения, соответствуют настроенной политике хранения.
Связанный контент
- Сведения об использовании встроенных политик Azure для аудита или развертывания журналов потоков NSG см. в статье "Управление журналами потоков NSG с помощью Политика Azure".
- Дополнительные сведения об аналитике трафика см. в статье "Аналитика трафика".