Administración de registros de flujo de NSG a partir de una plantilla de Resource Manager
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, aprenderá a administrar registros de flujo de NSG mediante programación con una plantilla de Azure Resource Manager y Azure PowerShell. Puede aprender a administrar un registro de flujo de NSG mediante Azure Portal, PowerShell, la CLI de Azure o la API de REST.
Una plantilla de Resource Manager es un archivo JSON (notación de objetos JavaScript) que define tanto la infraestructura como la configuración de un proyecto con sintaxis declarativa.
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
Objeto de los registros de flujo de NSG
A continuación se muestra el objeto de los registros de flujo de NSG con todos los parámetros en el siguiente ejemplo. Para obtener una introducción completa de las propiedades del objeto, lea la referencia de la plantilla de registros de flujo de 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 crear un recurso Microsoft.Network/networkWatchers/flowLogs, agregue el JSON anterior a la sección resources de la plantilla.
Creación de la plantilla
Obtenga más información sobre la creación de plantillas Resource Manager:
- Implementación de recursos con las plantillas de Resource Manager y Azure PowerShell
- Tutorial: Creación e implementación de la primera plantilla de Azure Resource Manager
En los ejemplos siguientes se presentan plantillas completas para habilitar los registros de flujo de NSG.
Ejemplo 1
Ejemplo 1: La versión más simple del código de plantilla de ARM con un número mínimo de parámetros pasados. La siguiente plantilla habilita los registros de flujo de NSG en un grupo de seguridad de red de destino y los almacena en una cuenta de almacenamiento específica.
{
"$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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNSG",
"storageId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
"enabled": true,
"flowAnalyticsConfiguration": {},
"retentionPolicy": {},
"format": {}
}
}
]
}
Nota
targetResourceId
es el identificador de recurso del grupo de seguridad de red de destino.storageId
es el identificador de recurso de la cuenta de almacenamiento de destino.
Ejemplo 2
En el ejemplo 2 se usa la plantilla siguiente para habilitar los registros de flujo de NSG (versión 2) con retención de 5 días y análisis de tráfico con un intervalo de procesamiento 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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNSG",
"storageId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount",
"enabled": true,
"flowAnalyticsConfiguration": {
"networkWatcherFlowAnalyticsConfiguration": {
"enabled": true,
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/defaultresourcegroup-eus/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e-EUS",
"trafficAnalyticsInterval": 10
}
},
"retentionPolicy": {
"days": 5,
"enabled": true
},
"format": {
"type": "JSON",
"version": 2
}
}
}
]
}
Nota
targetResourceId
es el identificador de recurso del grupo de seguridad de red de destino.storageId
es el identificador de recurso de la cuenta de almacenamiento de destino.workspaceResourceId
es el identificador de recurso del área de trabajo de análisis de tráfico.
Implementación de la plantilla de Azure Resource Manager
En este tutorial se da por supuesto que tiene un grupo de recursos existente y un grupo de seguridad de red en el que puede habilitar el registro de flujo.
Puede guardar cualquiera de las plantillas de ejemplo anteriores de forma local como azuredeploy.json
. Actualice los valores de las propiedades para que apunten a recursos válidos de su suscripción.
Para implementar la plantilla, ejecute el siguiente comando en PowerShell.
$context = Get-AzSubscription -SubscriptionId <SubscriptionId>
Set-AzContext $context
New-AzResourceGroupDeployment -Name EnableFlowLog -ResourceGroupName NetworkWatcherRG `
-TemplateFile "C:\MyTemplates\azuredeploy.json"
Nota
Los comandos anteriores implementan un recurso en el grupo de recursos NetworkWatcherRG y no en el grupo de recursos que contiene el grupo de seguridad de red.
Comprobación de la implementación
Hay un par de maneras de comprobar si la implementación se ha realizado correctamente. La consola de PowerShell debería mostrar "ProvisioningState" como "Succeeded". Además, puede visitar la página del portal de registros de flujo para confirmar los cambios. Si se produjeron problemas con la implementación, consulte Solución de errores comunes de implementación de Azure con Azure Resource Manager.
Eliminación del recurso
Azure permite la eliminación de recursos mediante el modo de implementación Completo. Para eliminar un recurso de registros de flujo, especifique una implementación en modo Completo sin incluir el recurso que quiere eliminar. Para más información, consulte Modo de implementación Completo.
Pasos siguientes
- Para descubrir cómo usar directivas integradas de Azure a fin de auditar o implementar registros de flujo de NSG, vea Administración de registros de flujo de NSG mediante Azure Policy.
- Para más información sobre el análisis de tráfico, vea Análisis de tráfico.