Gerenciar logs de fluxo NSG usando um modelo do Azure Resource Manager
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/abcdef01-2345-6789-0abc-def012345678/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNSG",
"storageId": "/subscriptions/abcdef01-2345-6789-0abc-def012345678/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/abcdef01-2345-6789-0abc-def012345678/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNSG",
"storageId": "/subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
"enabled": true,
"flowAnalyticsConfiguration": {
"networkWatcherFlowAnalyticsConfiguration": {
"enabled": true,
"workspaceResourceId": "/subscriptions/abcdef01-2345-6789-0abc-def012345678/resourceGroups/defaultresourcegroup-eus/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-abcdef01-2345-6789-0abc-def012345678-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.