Compartir vía


Administración de registros de flujo de NSG mediante Azure PowerShell

Importante

El 30 de septiembre de 2027, se retirarán los registros de flujo del grupo de seguridad de red (NSG). Como parte de esta retirada, ya no podrá crear nuevos registros de flujo de NSG a partir del 30 de junio de 2025. Se recomienda migrar a los registros de flujo de red virtual, lo que supera las limitaciones de los registros de flujo de NSG. Después de la fecha de retirada, el análisis de tráfico habilitado con los registros de flujo de NSG ya no se admitirá y se eliminarán los recursos de registros de flujo de NSG existentes en las suscripciones. Sin embargo, los registros de flujo de NSG no se eliminarán y seguirán siguiendo sus respectivas directivas de retención. Para obtener más información, consulte el anuncio oficial.

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,descubrirá cómo crear, cambiar, deshabilitar o eliminar un registro de flujo de NSG mediante Azure PowerShell. Puede aprender a administrar un registro de flujo de NSG mediante Azure Portal, CLI de Azure, 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 está seguro de si el proveedor de Microsoft.Insights está registrado, use Register-AzResourceProvider para registrarlo.

# Register Microsoft.Insights provider.
Register-AzResourceProvider -ProviderNamespace 'Microsoft.Insights'

Creación de un registro de flujo

  1. Obtenga las propiedades del grupo de seguridad de red para el que quiere crear el registro de flujo y la cuenta de almacenamiento que desea usar para almacenar el registro de flujo creado con Get-AzNetworkSecurityGroup y Get-AzStorageAccount, respectivamente.

    # Place the network security group properties into a variable.
    $nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'
    
    # Place the storage account properties into a variable.
    $sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
    

    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.
  2. Cree el registro de flujo con New-AzNetworkWatcherFlowLog. El registro de flujo se crea en el grupo de recursos predeterminado de Network Watcher NetworkWatcherRG.

    # Create a version 1 NSG flow log.
    New-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -Enabled $true
    

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

  1. Obtenga las propiedades del grupo de seguridad de red para el que quiere crear el registro de flujo y la cuenta de almacenamiento que desea usar para almacenar el registro de flujo creado con Get-AzNetworkSecurityGroup y Get-AzStorageAccount, respectivamente.

    # Place the network security group properties into a variable.
    $nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'
    
    # Place the storage account properties into a variable.
    $sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'
    

    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.
  2. Cree un área de trabajo de análisis de tráfico con New-AzOperationalInsightsWorkspace.

    # Create a traffic analytics workspace and place its properties into a variable.
    $workspace = New-AzOperationalInsightsWorkspace -Name 'myWorkspace' -ResourceGroupName 'myResourceGroup' -Location 'eastus'
    
  3. Cree el registro de flujo con New-AzNetworkWatcherFlowLog. El registro de flujo se crea en el grupo de recursos predeterminado de Network Watcher NetworkWatcherRG.

    # Create a version 1 NSG flow log with traffic analytics.
    New-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -Enabled $true -EnableTrafficAnalytics -TrafficAnalyticsWorkspaceId $workspace.ResourceId
    

Cambiar un registro de flujo

Puede usar Set-AzNetworkWatcherFlowLog 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.

# Place the network security group properties into a variable.
$nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'

# Place the storage account properties into a variable.
$sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'

# Update the NSG flow log.
Set-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id -Enabled $true -FormatVersion 2 

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

Use Get-AzNetworkWatcherFlowLog 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.
Get-AzNetworkWatcherFlowLog -Location 'eastus' | format-table Name

Nota

Para usar el parámetro -Location con el cmdlet Get-AzNetworkWatcherFlowLog, necesita un permiso de lector adicional en el grupo de recursos NetworkWatcherRG.

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

Use Get-AzNetworkWatcherFlowLog para ver los detalles de un recurso de registro de flujo.

# Get the details of a flow log.
Get-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus'

Nota

Para usar el parámetro -Location con el cmdlet Get-AzNetworkWatcherFlowLog, necesita un permiso de lector adicional en el grupo de recursos NetworkWatcherRG.

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 Set-AzNetworkWatcherFlowLog con el parámetro -Enabled $false. 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.

# Place the network security group properties into a variable.
$nsg = Get-AzNetworkSecurityGroup -Name 'myNSG' -ResourceGroupName 'myResourceGroup'

# Place the storage account properties into a variable.
$sa = Get-AzStorageAccount -Name 'myStorageAccount' -ResourceGroupName 'myResourceGroup'

# Update the NSG flow log.
Set-AzNetworkWatcherFlowLog -Enabled $false -Name 'myFlowLog' -Location 'eastus' -TargetResourceId $nsg.Id -StorageId $sa.Id

Eliminación de un registro de flujo

Para eliminar permanentemente un registro de flujo de NSG, use el comando Remove-AzNetworkWatcherFlowLog. 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.
Remove-AzNetworkWatcherFlowLog -Name 'myFlowLog' -Location 'eastus'

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.