Administración de registros de flujo de NSG mediante la CLI de Azure

Los registros de flujo de grupos de seguridad de red son una característica de Azure Network Watcher que le permite registrar información sobre el tráfico de IP que pasa por un grupo de seguridad de red. Para obtener más información sobre el registro de flujo del grupo de seguridad de red, consulte Información general sobre registros de flujo de NSG.

En este artículo se explica cómo crear, cambiar, deshabilitar o eliminar un registro de flujo de NSG mediante la CLI de Azure. Puede aprender a administrar un registro de flujo de NSG mediante Azure Portal, PowerShell, la API de REST o la plantilla de ARM.

Requisitos previos

Registro del proveedor de Insights

Se debe registrar el proveedor de Microsoft.Insights para registrar correctamente el tráfico que fluye mediante un grupo de seguridad de red. Si no sabe si el proveedor Microsoft.Insights está registrado, use az provider register para registrarlo.

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

Creación de un registro de flujo

Cree un registro de flujo mediante az network watcher flow-log create. El registro de flujo se crea en el grupo de recursos predeterminado de Network Watcher NetworkWatcherRG.

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

Nota

  • Si la cuenta de almacenamiento está en otra suscripción, tanto el grupo de seguridad de red como la cuenta de almacenamiento deben estar asociadas al mismo inquilino de Azure Active Directory. La cuenta que utilice para cada suscripción debe tener los permisos necesarios.
  • Si la cuenta de almacenamiento está en un grupo de recursos o una suscripción distintos, debe especificar el id.completo de la cuenta de almacenamiento, no solo su nombre. Por ejemplo, si la cuenta de almacenamiento myStorageAccount está en un grupo de recursos denominado StorageRG y el grupo de seguridad de red está en el grupo de recursos myResourceGroup, debe usar /subscriptions/{SubscriptionID}/resourceGroups/RG-Storage/providers/Microsoft.Storage/storageAccounts/myStorageAccount para el parámetro --storage-account en lugar 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

Creación de un área de trabajo de análisis de tráfico y registro de flujo

  1. Cree un área de trabajo de Log Analytics mediante az monitor log-analytics workspace create.

    # Create a Log Analytics workspace.
    az monitor log-analytics workspace create --name 'myWorkspace' --resource-group 'myResourceGroup'
    
  2. Cree un registro de flujo mediante az network watcher flow-log create. El registro de flujo se crea en el grupo de recursos predeterminado de Network Watcher 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'
    

Nota

  • La cuenta de almacenamiento no puede tener reglas de red que restrinjan el acceso a la red solo a servicios de Microsoft o a redes virtuales específicas.
  • Si la cuenta de almacenamiento está en otra suscripción, tanto el grupo de seguridad de red como la cuenta de almacenamiento deben estar asociadas al mismo inquilino de Azure Active Directory. La cuenta que utilice para cada suscripción debe tener los permisos necesarios.
  • Si la cuenta de almacenamiento está en un grupo de recursos o una suscripción distintos, se debe usar el id. completo de la cuenta de almacenamiento. Por ejemplo, si la cuenta de almacenamiento myStorageAccount está en un grupo de recursos denominado StorageRG y el grupo de seguridad de red está en el grupo de recursos myResourceGroup, debe usar /subscriptions/{SubscriptionID}/resourceGroups/RG-Storage/providers/Microsoft.Storage/storageAccounts/myStorageAccount para el parámetro --storage-account en lugar 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'

Cambiar un registro de flujo

Puede usar az network watcher flow-log update para cambiar las propiedades de un registro de flujo. Por ejemplo, puede cambiar la versión del registro de flujo o deshabilitar el análisis de tráfico.

# 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'

Enumeración de todos los registros de flujo de una región

Use az network watcher flow-log list para enumerar todos los recursos de registro de flujo de NSG de una región determinada de la suscripción.

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

Visualización de los detalles de un recurso de registro de flujo

Use az network watcher flow-log show para ver los detalles de un recurso de registro de flujo.

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

Descarga de un registro de flujo

La ubicación de almacenamiento de un registro de flujo se define en el momento de la creación. Para acceder y descargar registros de flujo desde la cuenta de almacenamiento, puede usar el Explorador de Azure Storage. Para más información, vea Introducción al Explorador de Storage.

Los archivos de registro de flujo del NSG guardados en una cuenta de almacenamiento siguen esta ruta:

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 obtener información sobre la estructura de un registro de flujo, consulte Formato de registro o Registros de flujo de NSG.

Deshabilitar un registro de flujo

Para deshabilitar temporalmente un registro de flujo sin eliminarlo, use el comando az network watcher flow-log update . Al deshabilitar un registro de flujo, este se detiene para el grupo de seguridad de red asociado. Sin embargo, el recurso del registro de flujo permanece con todas sus configuraciones y asociaciones. Puede volver a habilitarlo en cualquier momento para reanudar el registro de flujo para el grupo de seguridad de red configurado.

Nota

Si el análisis de tráfico está habilitado para un registro de flujo, hay que deshabilitarlo para poder deshabilitar el registro de flujo.

# 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'

Eliminación de un registro de flujo

Para eliminar permanentemente un registro de flujo, use el comando az network watcher flow-log delete. Al eliminar un registro de flujo, se eliminan todas sus configuraciones y asociaciones. Para volver a iniciar el registro de flujo para el mismo grupo de seguridad de red, debe crear un nuevo registro de flujo para este.

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

Nota

La eliminación de un registro de flujo no elimina los datos del registro de flujo de la cuenta de almacenamiento. Los datos de los registros de flujo almacenados en la cuenta de almacenamiento siguen la directiva de retención configurada.

Pasos siguientes