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

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

  • Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.

  • Proveedor de Insights. Para más información, consulte Registro del proveedor de Insights.

  • Un grupo de seguridad de red. Si necesita crear un grupo de seguridad de red, vea Crear, cambiar o eliminar un grupo de seguridad de red.

  • Una cuenta de almacenamiento de Azure. Si necesita crear un cuenta de almacenamiento, vea Crear una cuenta de almacenamiento mediante PowerShell.

  • Azure Cloud Shell o Azure PowerShell instalado localmente.

    • Los pasos de este artículo ejecutarán los cmdlets de Azure PowerShell de forma interactiva en Azure Cloud Shell. Para ejecutar los comandos en Cloud Shell, seleccione Abrir Cloud Shell en la esquina superior derecha de un bloque de código. Seleccione Copiar para copiar el código y péguelo, a continuación, en Cloud Shell para ejecutarlo. También podrá ejecutar Cloud Shell desde Azure Portal.

    • También podrá instalar Azure PowerShell localmente para ejecutar los cmdlet. En este artículo se requieren los módulos Az PowerShell. Para obtener más información, consulte Cómo instalar Azure PowerShell. Ejecute Get-InstalledModule -Name Az para ver cuál es la versión instalada. Si ejecuta PowerShell localmente, inicie sesión en Azure con el cmdlet Connect-AzAccount.

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.

Pasos siguientes