Gerenciar os logs de fluxo do NSG usando a CLI do Azure

Os logs de fluxo do grupo de segurança de rede são um recurso do Observador de Rede do Azure que permite registrar informações sobre o tráfego IP que flui por meio de um grupo de segurança de rede. Para obter mais informações sobre o log de fluxo do grupo de segurança de rede, confira Visão geral dos logs de fluxo do NSG.

Neste artigo, você aprenderá a criar, alterar, desabilitar ou excluir um log de fluxo do grupo de segurança de rede usando a CLI do Azure. Você pode aprender a gerenciar um log de fluxo do NSG por meio do portal do Azure, do PowerShell, da REST API ou do modelo do ARM.

Pré-requisitos

Registrar o provedor Insights

O provedor Microsoft.Insights deve ser registrado para registrar com êxito o tráfego de log que flui por meio de um grupo de segurança de rede. Se você não tiver certeza se o provedor Microsoft.Insights está registrado, use az provider register para registrá-lo.

# Register Microsoft.Insights provider.
az provider register --namespace 'Microsoft.Insights'

Criar um log de fluxo

Crie um log de fluxo usando az network watcher flow-log create. O log de fluxo é criado no grupo de recursos padrão do Observador de Rede NetworkWatcherRG.

# Create a version 1 NSG flow log.
az network watcher flow-log create --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount'

Observação

  • Se a conta de armazenamento estiver em uma assinatura diferente, o grupo de segurança de rede e a conta de armazenamento deverão ser associados ao mesmo locatário do Azure Active Directory. A conta que você usa para cada assinatura deve ter as permissões necessárias.
  • Se a conta de armazenamento estiver em um outro grupo de recursos ou assinatura, você precisa especificar a ID completa da conta de armazenamento, em vez de somente seu nome. Por exemplo, se a conta de armazenamento myStorageAccount estiver em um grupo de recursos chamado StorageRG enquanto o grupo de segurança de rede estiver no grupo de recursos myResourceGroup, você deverá usar /subscriptions/{SubscriptionID}/resourceGroups/RG-Storage/providers/Microsoft.Storage/storageAccounts/myStorageAccount para o parâmetro --storage-account em vez de myStorageAccount.
# Place the storage account resource ID into a variable.
sa=$(az storage account show --name 'myStorageAccount' --query 'id' --output 'tsv')

# Create a version 1 NSG flow log (the storage account is in a different resource group).
az network watcher flow-log create --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account $sa

Criar um log de fluxo e um workspace de análise de tráfego

  1. Crie um workspace do Log Analytics usando az monitor log-analytics workspace create.

    # Create a Log Analytics workspace.
    az monitor log-analytics workspace create --name 'myWorkspace' --resource-group 'myResourceGroup'
    
  2. Crie um log de fluxo usando az network watcher flow-log create. O log de fluxo é criado no grupo de recursos padrão do Observador de Rede NetworkWatcherRG.

    # Create a version 1 NSG flow log and enable traffic analytics for it.
    az network watcher flow-log create --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --traffic-analytics 'true' --workspace 'myWorkspace'
    

Observação

  • A conta de armazenamento não pode ter regras de rede que restrinjam o acesso à rede somente a serviços da Microsoft ou redes virtuais específicas.
  • Se a conta de armazenamento estiver em uma assinatura diferente, o grupo de segurança de rede e a conta de armazenamento deverão ser associados ao mesmo locatário do Azure Active Directory. A conta que você usa para cada assinatura deve ter as permissões necessárias.
  • Se a conta de armazenamento estiver em um grupo de recursos ou assinatura diferente, a ID completa da conta de armazenamento deverá ser usada. Por exemplo, se a conta de armazenamento myStorageAccount estiver em um grupo de recursos chamado StorageRG enquanto o grupo de segurança de rede estiver no grupo de recursos myResourceGroup, você deverá usar /subscriptions/{SubscriptionID}/resourceGroups/RG-Storage/providers/Microsoft.Storage/storageAccounts/myStorageAccount para o parâmetro --storage-account em vez de myStorageAccount.
# Place the storage account resource ID into a variable.
sa=$(az storage account show --name 'myStorageAccount' --query 'id' --output 'tsv')

# Create a Log Analytics workspace.
az monitor log-analytics workspace create --name 'myWorkspace' --resource-group 'myResourceGroup'

# Create a version 1 NSG flow log and enable traffic analytics for it (the storage account is in a different resource group).
az network watcher flow-log create --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account $sa --traffic-analytics 'true' --workspace 'myWorkspace'

Alterar um log de fluxo

Você pode usar az network watcher flow-log update para alterar as propriedades de um log de fluxo. Por exemplo, você pode alterar a versão do log de fluxo ou desabilitar a análise de tráfego.

# Update the flow log.
az network watcher flow-log update --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --traffic-analytics 'false' --log-version '2'

Listar todos os logs de fluxo em uma região

Use az network watcher flow-log list para listar todos os recursos de log de fluxo do NSG em uma região específica em sua assinatura.

# Get all NSG flow logs in East US region.
az network watcher flow-log list --location 'eastus' --out table

Exibir detalhes de um recurso de log de fluxo

Use az network watcher flow-log show para ver detalhes de um recurso de log de fluxo.

# Get the details of a flow log.
az network watcher flow-log show --name 'myFlowLog' --resource-group 'NetworkWatcherRG' --location 'eastus'

Baixar um log de fluxo

O local de armazenamento de um log de fluxo é definido no momento da criação. Para acessar e baixar logs de fluxo de sua conta de armazenamento, você pode usar o Gerenciador de Armazenamento do Azure. Para obter mais informações, confira Introdução ao Gerenciador de Armazenamento.

Os arquivos de log de fluxo do NSG salvos em uma conta de armazenamento seguem este caminho:

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

Para obter informações sobre a estrutura de um log de fluxo, consulte Formato de log dos logs de fluxo do NSG.

Desabilitar um log de fluxo

Para desabilitar temporariamente um log de fluxo sem excluí-lo, use o comando az network watcher flow-log update . Desabilitar um log de fluxo interrompe o log de fluxo para o grupo de segurança de rede associado. No entanto, o recurso de log de fluxo permanece com todas as suas configurações e associações. Você pode habilitá-lo novamente a qualquer momento para retomar o log de fluxo para o grupo de segurança de rede configurado.

Observação

Se a análise de tráfego estiver habilitada para um log de fluxo, ela deverá ser desabilitada antes que você possa desabilitar o log de fluxo.

# Disable traffic analytics log if it's enabled.
az network watcher flow-log update --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --traffic-analytics 'false' --workspace 'myWorkspace'

# Disable the flow log.
az network watcher flow-log update --name 'myFlowLog' --nsg 'myNSG' --resource-group 'myResourceGroup' --storage-account 'myStorageAccount' --enabled 'false'

Excluir um log de fluxo

Para excluir permanentemente um log de fluxo, use o comando az network watcher flow-log delete . Excluir um log de fluxo exclui todas as suas configurações e associações. Para iniciar o registro em log de fluxo novamente para o mesmo grupo de segurança de rede, você deve criar um novo log de fluxo para ele.

# Delete the flow log.
az network watcher flow-log delete --name 'myFlowLog' --location 'eastus' --no-wait 'true'

Observação

Excluir um log de fluxo não exclui os dados de log de fluxo da conta de armazenamento. Os dados de logs de fluxo armazenados na conta de armazenamento seguem a política de retenção configurada.

Próximas etapas