Gerenciar os logs de fluxo do 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 aposentadoria, você não poderá mais criar novos registros 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 registros de fluxo do NSG. Após a data de aposentadoria, a análise de tráfego habilitada com logs de fluxo NSG não será mais suportada, e os recursos de logs de fluxo NSG existentes em suas assinaturas serão excluídos. No entanto, os registros de fluxo do NSG não serão excluídos e continuarão seguindo suas respectivas políticas de retenção. Para saber mais, confira o anúncio oficial.
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 gerenciar os logs de fluxo do NSG programaticamente usando um modelo do Azure Resource Manager e o Azure PowerShell. Você pode aprender como gerenciar um log de fluxo de NSG usando o portal do Azure, o PowerShell, a CLI do Azure ou a 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 uma sintaxe declarativa.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
Objeto de logs de fluxo NSG
O objeto de logs de fluxo do NSG com todos os parâmetros é mostrado no exemplo a seguir. Para obter uma visão geral completa das propriedades do objeto, confira a referência do modelo de logs de fluxo do 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.
Criar seu modelo
Para saber mais sobre como usar modelos do Azure Resource Manager, confira:
- Implantar 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 do NSG.
Exemplo 1
O exemplo 1 usa a versão mais simples do modelo do ARM com a transmissão de um mínimo de parâmetros. o modelo a seguir habilita os logs de fluxo do NSG em um grupo de segurança 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": {}
}
}
]
}
Observação
targetResourceId
é a ID de recurso do grupo de segurança de rede de destino.storageId
é a ID do recurso da conta de armazenamento de destino.
Exemplo 2
O exemplo 2 usa o modelo a seguir para habilitar logs de fluxo do NSG (versão 2) com uma 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
}
}
}
]
}
Observação
targetResourceId
é a ID de recurso do grupo de segurança de rede de destino.storageId
é a ID do recurso da conta de armazenamento de destino.workspaceResourceId
é a ID de recurso do espaço de trabalho de análise de tráfego.
Implantando o 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 de destino no qual possa habilitar o registro dos logs de fluxo.
Você pode salvar qualquer um dos modelos do exemplo acima localmente como azuredeploy.json
. Atualize os valores da 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"
Observação
Os comandos anteriores implantam um recurso no grupo de recursos NetworkWatcherRG e não no grupo de recursos contendo o grupo de segurança de rede (NSG).
Verificar a implantação
Existem algumas maneiras de verificar se a sua implantação foi bem-sucedida. O console do PowerShell deve mostrar “ProvisioningState” como “Bem-sucedido”. Além disso, você pode acessar a página do portal de logs de fluxo para confirmar suas alterações. Se houver problemas com a implantação, confira Solucionar problemas 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 Completo. Para excluir um recurso de logs de fluxo, especifique uma implantação no modo Completo sem incluir o recurso que você quer excluir. Para obter mais informações, confira Modo de implantação Completo.
Próximas etapas
- Para saber como usar políticas internas do Azure para auditar ou implantar logs de fluxo do NSG, confira Gerenciar logs de fluxo do NSG usando o Azure Policy.
- Para saber mais sobre análise de tráfego, confira Análise de tráfego.