Gerenciar os registros de fluxo do NSG usando a API REST
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.
Este artigo mostra como usar a API REST para habilitar, desabilitar e consultar registros de fluxo usando a API REST. Você pode aprender a gerenciar um registro de fluxo do NSG usando o Portal do Azure, PowerShell, Azure CLI ou Modelo do ARM.
Neste artigo, você aprenderá a:
- Habilitar logs de fluxo (versão 2)
- Desabilitar logs de fluxo
- Consultar status dos logs de fluxo
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- ARMClient. O ARMClient é uma ferramenta de linha de comando simples usada para invocar a API do Azure Resource Manager. Para instalar a ferramenta, confira ARMClient. Para obter especificações detalhadas da API REST dos logs de fluxo do NSG, consulte Logs de fluxo - API REST
Importante
Quando você faz chamadas da API REST para o Observador de Rede, o nome do grupo de recursos no URI da solicitação refere-se ao grupo de recursos que contém o Observador de Rede, não aos recursos para os quais você está executando as ações de diagnóstico.
Entrar com o ARMClient
Entre no armclient com suas credenciais do Azure.
armclient login
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 a API REST Provedores - Registro para registrá-lo.
$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
armclient post "https://management.azure.com//subscriptions/${subscriptionId}/providers/Microsoft.Insights/register?api-version=2021-04-01"
Habilitar os logs de fluxo do NSG
O comando para habilitar a versão 2 do fluxo de logs é mostrado no exemplo a seguir. Para a versão 1, substitua o campo “version” com “1”:
$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$targetUri = "" # example /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName/providers/Microsoft.Network/networkSecurityGroups/{nsgName}"
$storageId = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/{resourceGroupName/providers/Microsoft.Storage/storageAccounts/{saName}"
$resourceGroupName = "NetworkWatcherRG"
$networkWatcherName = "NetworkWatcher_westcentralus"
$requestBody = @"
{
'targetResourceId': '${targetUri}',
'properties': {
'storageId': '${storageId}',
'enabled': 'true',
'retentionPolicy' : {
days: 5,
enabled: true
},
'format': {
'type': 'JSON',
'version': 2
}
}
}
"@
armclient post "https://management.azure.com/subscriptions/${subscriptionId}/ResourceGroups/${resourceGroupName}/providers/Microsoft.Network/networkWatchers/${networkWatcherName}/configureFlowLog?api-version=2022-11-01" $requestBody
A resposta retornada do exemplo anterior é a seguinte:
{
"targetResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{nsgName}",
"properties": {
"storageId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{saName}",
"enabled": true,
"retentionPolicy": {
"days": 5,
"enabled": true
},
"format": {
"type": "JSON",
"version": 2
}
}
}
Observação
- A API REST Observadores de Rede -Definir a Configuração do Registro de Fluxo usada no exemplo anterior é antiga e poderá ser descontinuada em breve.
- É recomendável usar a nova API REST Logs de Fluxo - Criar ou Atualizar para criar ou atualizar logs de fluxo.
Desabilitar logs de fluxo do NSG
Use o exemplo a seguir para desabilitar logs de fluxo. A chamada é semelhante à habilitação de logs de fluxo, exceto quando false estiver definido para a propriedade habilitada.
$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$targetUri = "" # example /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName/providers/Microsoft.Network/networkSecurityGroups/{nsgName}"
$storageId = "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/{resourceGroupName/providers/Microsoft.Storage/storageAccounts/{saName}"
$resourceGroupName = "NetworkWatcherRG"
$networkWatcherName = "NetworkWatcher_westcentralus"
$requestBody = @"
{
'targetResourceId': '${targetUri}',
'properties': {
'storageId': '${storageId}',
'enabled': 'false',
'retentionPolicy' : {
days: 5,
enabled: true
},
'format': {
'type': 'JSON',
'version': 2
}
}
}
"@
armclient post "https://management.azure.com/subscriptions/${subscriptionId}/ResourceGroups/${resourceGroupName}/providers/Microsoft.Network/networkWatchers/${networkWatcherName}/configureFlowLog?api-version=2022-11-01" $requestBody
A resposta retornada do exemplo anterior é a seguinte:
{
"targetResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{nsgName}",
"properties": {
"storageId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{saName}",
"enabled": false,
"retentionPolicy": {
"days": 5,
"enabled": true
},
"format": {
"type": "JSON",
"version": 2
}
}
}
Observação
- A API REST Observadores de Rede -Definir a Configuração do Registro de Fluxo usada no exemplo anterior é antiga e poderá ser descontinuada em breve.
- É recomendável usar a nova API REST Logs de Fluxo - Criar ou Atualizar para desativar os logs de fluxo e a API REST Logs de Fluxo - Excluir para excluir o recurso de logs de fluxo.
Consultar logs de fluxo
A seguinte chamada REST consulta o status dos logs de fluxo em um grupo de segurança de rede.
$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$targetUri = "" # example /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName/providers/Microsoft.Network/networkSecurityGroups/{nsgName}"
$resourceGroupName = "NetworkWatcherRG"
$networkWatcherName = "NetworkWatcher_westcentralus"
$requestBody = @"
{
'targetResourceId': '${targetUri}',
}
"@
armclient post "https://management.azure.com/subscriptions/${subscriptionId}/ResourceGroups/${resourceGroupName}/providers/Microsoft.Network/networkWatchers/${networkWatcherName}/queryFlowLogStatus?api-version=2022-11-01" $requestBody
O exemplo a seguir mostra a resposta retornada:
{
"targetResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{nsgName}",
"properties": {
"storageId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{saName}",
"enabled": true,
"retentionPolicy": {
"days": 5,
"enabled": true
},
"format": {
"type": "JSON",
"version": 2
}
}
}
Observação
- A API REST Observadores de Rede - Obter o Status do Registro de Fluxo usada no exemplo anterior requer uma permissão adicional de leitura no grupo de recursos do observador de rede. Além disso, essa API é antiga e poderá ser preterida em breve.
- Recomenda-se usar a nova API REST Logs de fluxo - Obter para consultar os logs de fluxo.
Baixar um log de fluxo
O local de armazenamento de um log de fluxo é definido no momento da criação. Uma ferramenta conveniente para acessar os logs de fluxo salvos em uma conta de armazenamento é o Gerenciador de Armazenamento do Microsoft Azure. Para obter mais informações, confira Introdução ao Gerenciador de Armazenamento.
Se uma conta de armazenamento for especificada, os arquivos de captura de pacote serão salvos em uma conta de armazenamento no seguinte local:
https://{storageAccountName}.blob.core.windows.net/insights-logs-networksecuritygroupflowevent/resourceId=/SUBSCRIPTIONS/{subscriptionID}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/{nsgName}/y={year}/m={month}/d={day}/h={hour}/m=00/macAddress={macAddress}/PT1H.json
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.