Gerenciar logs de fluxo NSG usando um modelo do Azure Resource Manager
Importante
Em 30 de setembro de 2027, os logs de fluxo do grupo de segurança de rede (NSG) serão desativados. Como parte dessa desativação, você não poderá mais criar novos logs de fluxo do NSG a partir de 30 de junho de 2025. Recomendamos migrar para logs de fluxo de rede virtual, que superam as limitações dos logs de fluxo NSG. Após a data de desativação, a análise de tráfego habilitada com logs de fluxo NSG não será mais suportada e os recursos existentes de logs de fluxo NSG em suas assinaturas serão excluídos. No entanto, os registros de logs de fluxo do NSG não serão excluídos e continuarão a seguir suas respetivas políticas de retenção. Para obter mais informações, veja o anúncio oficial.
O log de fluxo do grupo de segurança de rede é um recurso do Observador de Rede do Azure que permite registrar informações sobre o tráfego IP que flui através 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, consulte Visão geral dos logs de fluxo do NSG.
Neste artigo, você aprenderá a gerenciar logs de fluxo do NSG programaticamente usando um modelo do Azure Resource Manager e o Azure PowerShell. Você pode aprender a gerenciar um log de fluxo NSG usando o portal do Azure, PowerShell, CLI do Azure ou API REST.
Um modelo do Azure Resource Manager é um arquivo JSON (JavaScript Object Notation) que define a infraestrutura e a configuração do seu projeto usando sintaxe declarativa.
Pré-requisitos
- Uma conta do Azure com uma subscrição ativa. Crie uma conta gratuitamente.
Objeto de logs de fluxo NSG
O objeto de logs de fluxo NSG com todos os parâmetros é mostrado no exemplo a seguir. Para obter uma visão geral completa das propriedades do objeto, consulte Referência de modelo de logs de fluxo 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"
}
}
}
}
Para criar um recurso Microsoft.Network/networkWatchers/flowLogs, adicione o JSON acima à seção de recursos do seu modelo.
Crie o seu modelo
Para saber mais sobre como usar modelos do Azure Resource Manager, consulte:
- Implementar recursos com modelos do Resource Manager e o Azure PowerShell
- Tutorial: Criar e implantar seu primeiro modelo do Azure Resource Manager
Os exemplos a seguir apresentam modelos completos para habilitar logs de fluxo NSG.
Exemplo 1
O Exemplo 1 usa a versão mais simples do modelo ARM com parâmetros mínimos passados. O modelo a seguir habilita os logs de fluxo NSG em um grupo de segurança de rede de destino e os armazena em uma determinada conta de armazenamento.
{
"$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": {}
}
}
]
}
Nota
targetResourceId
é o ID do recurso do grupo de segurança de rede de destino.storageId
é o ID do recurso da conta de armazenamento de destino.
Exemplo 2
O Exemplo 2 usa o modelo a seguir para habilitar logs de fluxo NSG (versão 2) com retenção de 5 dias e análise de tráfego com um intervalo de processamento de 10 minutos.
{
"$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
}
}
}
]
}
Nota
targetResourceId
é o ID do recurso do grupo de segurança de rede de destino.storageId
é o ID do recurso da conta de armazenamento de destino.workspaceResourceId
is é o ID do recurso do espaço de trabalho de análise de tráfego.
Implantar seu modelo do Azure Resource Manager
Este tutorial pressupõe que você tenha um grupo de recursos existente e um grupo de segurança de rede que você pode habilitar o logon de fluxo.
Você pode salvar qualquer um dos modelos de exemplo acima localmente como azuredeploy.json
. Atualize os valores de propriedade para que eles apontem para recursos válidos em sua assinatura.
Para implantar o modelo, execute o seguinte comando no PowerShell.
$context = Get-AzSubscription -SubscriptionId <SubscriptionId>
Set-AzContext $context
New-AzResourceGroupDeployment -Name EnableFlowLog -ResourceGroupName NetworkWatcherRG `
-TemplateFile "C:\MyTemplates\azuredeploy.json"
Nota
Os comandos anteriores implantam um recurso no grupo de recursos NetworkWatcherRG e não no grupo de recursos que contém o grupo de segurança de rede.
Verificar sua implantação
Há algumas maneiras de verificar se sua implantação foi bem-sucedida. Seu console do PowerShell deve mostrar "ProvisioningState" como "Succeeded". Além disso, você pode visitar a página do portal Logs de fluxo para confirmar suas alterações. Se houve problemas com a implantação, consulte Solucionar erros comuns de implantação do Azure com o Azure Resource Manager.
Excluir seu recurso
O Azure permite a exclusão de recursos por meio do modo de implantação Completa . Para excluir um recurso de logs de fluxo, especifique uma implantação no modo Concluído sem incluir o recurso que você deseja excluir. Para obter mais informações, consulte Modo de implantação completo.
Próximos passos
- Para saber como usar as políticas internas do Azure para auditar ou implantar logs de fluxo do NSG, consulte Gerenciar logs de fluxo do NSG usando a Política do Azure.
- Para saber mais sobre a análise de tráfego, consulte Análise de tráfego.