Compartir a través de


Uso de filtros de conexión IP de Azure IoT DPS

La seguridad es un aspecto importante de cualquier solución de IoT. En ciertas ocasiones necesitará especificar explícitamente las direcciones IP desde las que se pueden conectar los dispositivos como parte de la configuración de seguridad. La característica de filtro IP para una instancia de Azure IoT Hub Device Provisioning Service (DPS) permite configurar reglas para rechazar o aceptar el tráfico de direcciones IPv4 específicas.

Cuándo usar

Hay dos casos de uso específicos en los que resulta útil bloquear las conexiones a un punto de conexión de DPS desde determinadas direcciones IP:

  • El DPS solo debe recibir tráfico de un intervalo especificado de direcciones IP y rechazar todo lo demás. Por ejemplo, estás usando tu DPS con Azure ExpressRoute para crear conexiones privadas entre una instancia de DPS y tus dispositivos.

  • Debe rechazar el tráfico de direcciones IP identificadas como sospechosas por el administrador de DPS.

Limitaciones de las reglas de filtro IP

Tenga en cuenta las siguientes limitaciones si el filtrado IP está habilitado:

  • Es posible que no pueda usar Azure Portal para administrar las inscripciones. Si se produce este escenario, puede agregar la dirección IP de una o varias máquinas al ipFilterRules y administrar las inscripciones en la instancia de DPS desde esas máquinas con Azure CLI, PowerShell o las API de servicio.

    Este escenario es más probable que se produzca cuando quiera usar el filtrado de IP para permitir el acceso solo a direcciones IP seleccionadas. En este caso, se configuran reglas para habilitar determinadas direcciones o intervalos de direcciones y una regla predeterminada que bloquea todas las demás direcciones (0.0.0.0/0). Esta regla predeterminada impide que Azure Portal realice operaciones como administrar inscripciones en la instancia de DPS. Para obtener más información, consulte Evaluación de reglas de filtro IP en este artículo.

Cómo se aplican las reglas de filtro

Las reglas de filtro IP se aplican en el nivel de instancia de DPS. Por lo tanto, las reglas de filtro IP se aplican a todas las conexiones desde dispositivos y aplicaciones de back-end mediante cualquier protocolo compatible.

Cualquier intento de conexión de una dirección IP que coincida con una regla de rechazo de IP en la instancia de DPS recibe un código de estado 401 no autorizado y una descripción correspondiente. El mensaje de respuesta no menciona la regla de IP.

Importante

Rechazar direcciones IP puede impedir que otros servicios de Azure interactúen con la instancia de DPS.

Configuración predeterminada

De forma predeterminada, el filtrado IP está deshabilitado y el acceso a la red pública está establecido en Todas las redes. Esta configuración predeterminada significa que DPS acepta conexiones de cualquier dirección IP o se ajusta a una regla que acepta el intervalo de direcciones IP 0.0.0.0/0.

Captura de pantalla que muestra la configuración predeterminada del filtro IP de IoT DPS en Azure Portal.

Adición de una regla de filtro IP

Para agregar una regla de filtro IP:

  1. Vaya a Azure Portal.

  2. En el menú del portal o en la página del portal, seleccione Todos los recursos.

  3. Seleccione su instancia de Device Provisioning Service.

  4. En el menú servicio, en Configuración, seleccione Redes.

  5. En el panel de trabajo, en Acceso a la red pública, seleccione Intervalos IP seleccionados.

  6. Seleccione + Agregar regla de filtro IP.

    Captura de pantalla que muestra cómo agregar una regla de filtro IP a una instancia de IoT DPS en Azure Portal.

  7. Rellene los campos siguientes:

    Campo Descripción
    Nombre Cadena alfanumérica única sin distinción entre mayúsculas y minúsculas de hasta 128 caracteres. Solo se aceptan los caracteres alfanuméricos de ASCII de 7 bits más {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''} .
    Intervalo de direcciones Una sola dirección IPv4 o un bloque de direcciones IP en notación de Enrutamiento entre Dominios sin Clase (CIDR). Por ejemplo, en notación CIDR, 192.168.100.0/22 representa las direcciones IPv4 de 1024 de 192.168.100.0 a 192.168.103.255.
    Acción Seleccione Permitir o Bloquear.

    Captura de pantalla que muestra cómo definir y guardar una regla de filtro IP para una instancia de IoT DPS en Azure Portal.

  8. Haga clic en Guardar. Debería ver una alerta que le notifica que la actualización está en curso.

    Captura de pantalla que muestra la notificación que se muestra al guardar una regla de filtro IP en Azure Portal.

    Nota:

    + Agregar regla de filtro IP está deshabilitada cuando se alcanza el máximo de 100 reglas de filtro IP.

Edición de una regla de filtro IP

Para editar una regla existente:

  1. Seleccione los datos de la regla de filtro IP que desea cambiar.

    Captura de pantalla que muestra cómo editar una regla de filtro IP para una instancia de IoT DPS en Azure Portal.

  2. Realice el cambio.

  3. Haga clic en Guardar.

Eliminación de una regla de filtro IP

Para eliminar una regla de filtro IP:

  1. Seleccione el icono eliminar de la fila de la regla de IP que desea eliminar.

    Captura de pantalla que muestra cómo eliminar una regla de filtro IP para una instancia de IoT DPS en Azure Portal.

  2. Haga clic en Guardar.

Evaluación de reglas de filtro IP

Las reglas de filtro IP se aplican en orden. La primera regla que coincide con la dirección IP determina la acción aceptar o rechazar.

Por ejemplo, si desea aceptar direcciones en el intervalo 192.168.100.0/22 y rechazar todo lo demás, la primera regla de la cuadrícula debe aceptar el intervalo de direcciones 192.168.100.0/22. La siguiente regla debe rechazar todas las direcciones mediante el intervalo 0.0.0.0/0.

Para cambiar el orden de las reglas de filtro IP:

  1. Seleccione la regla que desea mover.

  2. Arrastre y coloque la regla en la ubicación deseada.

  3. Haga clic en Guardar.

Actualización de reglas de filtro IP mediante plantillas de Azure Resource Manager

Hay dos maneras de actualizar el filtro IP de DPS:

  1. Llamar al método de la API REST de recursos de IoT Hub. Para obtener información sobre cómo actualizar las reglas de filtro IP mediante REST, consulte IpFilterRule la sección Definiciones del recurso de IoT Hub- Update.

  2. Use las plantillas de Azure Resource Manager. Para obtener más información sobre cómo usar las plantillas de Resource Manager, consulte ¿Qué son las plantillas de ARM?. Los ejemplos siguientes muestran cómo crear, editar y eliminar reglas de filtro IP de DPS con plantillas de Azure Resource Manager.

    Nota:

    La CLI de Azure y Azure PowerShell no admiten actualmente actualizaciones de reglas de filtro IP de DPS.

Adición de una regla de filtro IP

En el ejemplo de plantilla siguiente se crea una nueva regla de filtro IP denominada "AllowAll" que acepta todo el tráfico.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", 
    "contentVersion": "1.0.0.0", 
    "parameters": {
        "iotDpsName": {
            "type": "string",
            "defaultValue": "[resourceGroup().name]",
            "minLength": 3,
            "metadata": {
                "description": "Specifies the name of the IoT DPS service."
            }
        }, 
        "location": {
            "type": "string",
            "defaultValue": "[resourceGroup().location]",
            "metadata": {
                "description": "Location for Iot DPS resource."
            }
        }        
    }, 
    "variables": {
        "iotDpsApiVersion": "2020-01-01"
    }, 
    "resources": [
        {
            "type": "Microsoft.Devices/provisioningServices",
            "apiVersion": "[variables('iotDpsApiVersion')]",
            "name": "[parameters('iotDpsName')]",
            "location": "[parameters('location')]",
            "sku": {
                "name": "S1",
                "tier": "Standard",
                "capacity": 1
            },
            "properties": {
                "IpFilterRules": [
                    {
                        "FilterName": "AllowAll",
                        "Action": "Accept",
                        "ipMask": "0.0.0.0/0"
                    }
                ]
            }            
        }
    ]
}

Actualice los atributos de la regla de filtro IP de la plantilla en función de sus requisitos.

Atributo Descripción
FilterName Proporcione un nombre para la regla de filtro IP. Este valor debe ser una cadena alfanumérica única que no distingue mayúsculas de minúsculas hasta 128 caracteres. Solo se aceptan los caracteres alfanuméricos de ASCII de 7 bits más {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''} .
Acción Los valores aceptados son Accept o Reject como acción para la regla de filtro IP.
ipMask Proporcione una única dirección IPv4 o un bloque de direcciones IP en la notación CIDR. Por ejemplo, en notación CIDR, 192.168.100.0/22 representa las direcciones IPv4 de 1024 de 192.168.100.0 a 192.168.103.255.

Actualización de una regla de filtro IP

En el ejemplo de plantilla siguiente se actualiza la regla de filtro IP denominada "AllowAll", mostrada anteriormente, para rechazar todo el tráfico.

{ 
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",  
    "contentVersion": "1.0.0.0",  
    "parameters": { 
        "iotDpsName": { 
            "type": "string", 
            "defaultValue": "[resourceGroup().name]", 
            "minLength": 3, 
            "metadata": { 
                "description": "Specifies the name of the IoT DPS service." 
            } 
        },  
        "location": { 
            "type": "string", 
            "defaultValue": "[resourceGroup().location]", 
            "metadata": { 
                "description": "Location for Iot DPS resource." 
            } 
        }        
    },  
    "variables": { 
        "iotDpsApiVersion": "2020-01-01" 
    },  
    "resources": [ 
        { 
            "type": "Microsoft.Devices/provisioningServices", 
            "apiVersion": "[variables('iotDpsApiVersion')]", 
            "name": "[parameters('iotDpsName')]", 
            "location": "[parameters('location')]", 
            "sku": { 
                "name": "S1", 
                "tier": "Standard", 
                "capacity": 1 
            }, 
            "properties": { 
                "IpFilterRules": [ 
                    { 
                        "FilterName": "AllowAll", 
                        "Action": "Reject", 
                        "ipMask": "0.0.0.0/0" 
                    } 
                ] 
            }             
        } 
    ] 
}

Eliminación de una regla de filtro IP

En el ejemplo de plantilla siguiente se eliminan todas las reglas de filtro IP de la instancia de DPS.

{ 
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",  
    "contentVersion": "1.0.0.0",  
    "parameters": { 
        "iotDpsName": { 
            "type": "string", 
            "defaultValue": "[resourceGroup().name]", 
            "minLength": 3, 
            "metadata": { 
                "description": "Specifies the name of the IoT DPS service." 
            } 
        },  
        "location": { 
            "type": "string", 
            "defaultValue": "[resourceGroup().location]", 
            "metadata": { 
                "description": "Location for Iot DPS resource." 
            } 
        }        
    },  
    "variables": { 
        "iotDpsApiVersion": "2020-01-01" 
    },  
    "resources": [ 
        { 
            "type": "Microsoft.Devices/provisioningServices", 
            "apiVersion": "[variables('iotDpsApiVersion')]", 
            "name": "[parameters('iotDpsName')]", 
            "location": "[parameters('location')]", 
            "sku": { 
                "name": "S1", 
                "tier": "Standard", 
                "capacity": 1 
            }, 
            "properties": { 
            }             
        } 
    ] 
}

Pasos siguientes

Para explorar aún más la administración de DPS, consulte: