Uso de filtros IP

La seguridad es un aspecto importante de cualquier solución de IoT basada en Azure IoT Hub. 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 le permite configurar reglas para rechazar o aceptar tráfico de direcciones IPv4 específicas.

Cuándo se usa

Use un filtro IP para recibir tráfico únicamente de un intervalo especificado de direcciones IP y rechazar todo lo demás. Por ejemplo, está usando el centro de IoT con Azure Express Route para crear conexiones privadas entre un centro de IoT y la infraestructura local.

Valor predeterminado

Para ir a la página Configuración de filtro IP del centro de IoT, seleccione Redes>Acceso público y, a continuación, elija rangos IP seleccionados:

Screenshot showing how to set default IP filter settings.

De forma predeterminada, la cuadrícula de filtro IP del portal para un centro de IoT está vacía. Este valor predeterminado indica que el centro bloquea las conexiones desde todas las direcciones IP. Este valor predeterminado es equivalente a una regla que bloquee el intervalo de direcciones IP 0.0.0.0/0.

Incorporación o edición de una regla de filtro IP

Para agregar una regla de filtro IP, seleccione Agregar regla de filtro IP. Para agregar rápidamente la dirección IP del equipo, seleccione Agregar la dirección IP del cliente.

Screenshot showing how to add an IP filter rule to an IoT hub.

Después de seleccionar Agregar regla de filtro IP, rellene los campos. Estos campos se rellenan automáticamente si ha elegido agregar la dirección IP del cliente.

Screenshot that shows what to do after adding an IP filter rule.

  • Escriba un nombre para la regla de filtro IP. Este nombre debe ser una cadena única de hasta 128 caracteres alfanuméricos que no distinga mayúsculas de minúsculas. Solo se aceptan los caracteres alfanuméricos ASCII de 7 bits más los siguientes caracteres especiales: - : . + % _ # * ? ! ( ) , = @ ; '.

  • 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.

Después de rellenar los campos, seleccione Guardar para guardar la regla. Se mostrará una alerta que le informará de que la actualización está en curso.

Screenshot that shows notification about saving an IP filter rule.

La opción Agregar está deshabilitada cuando se alcanza el máximo de 100 reglas de filtro IP.

Para editar una regla existente, seleccione los datos que quiere cambiar, realice el cambio y, a continuación, seleccione Guardar para guardar la edición.

Eliminación de una regla de filtro IP

Para eliminar una regla de filtro IP, seleccione el icono de la papelera de esa fila y, a continuación, seleccione Guardar. Se quita la regla y se guarda el cambio.

Screenshot showing how to delete an IoT Hub IP filter rule.

Aplicación de reglas de filtro IP al punto de conexión integrado compatible con Event Hubs

Para aplicar las reglas de filtro IP al punto de conexión integrado compatible con Event Hubs, active la casilla situada junto a ¿Aplicar filtros IP al punto de conexión integrado? y seleccione Guardar.

Screenshot showing the toggle for the built-in endpoint.

Nota:

Esta opción no está disponible en los centros de IoT gratuitos (F1). Para aplicar reglas de filtro IP al punto de conexión integrado, use un centro de IoT de pago.

Al habilitar esta opción, las reglas de filtro IP se replican en el punto de conexión integrado, por lo que solo los intervalos de direcciones IP de confianza pueden acceder a él.

Si deshabilita esta opción, todas las direcciones IP pueden acceder al punto de conexión integrado. Este comportamiento puede ser útil si se quiere leer desde el punto de conexión con servicios con direcciones IP de origen que pueden cambiar con el tiempo, como Azure Stream Analytics.

Cómo se aplican las reglas de filtro

Las reglas de filtro IP se aplican en el nivel de servicio de IoT Hub. Por lo tanto, las reglas de filtro IP se aplican a todas las conexiones de los dispositivos y aplicaciones de back-end mediante un protocolo admitido. Además, puede elegir si el punto de conexión integrado compatible con Event Hubs (no mediante la cadena de conexión de IoT Hub) está enlazado a estas reglas.

Cualquier intento de conexión desde una dirección IP no permitida de forma explícita recibe un código de estado 401 no autorizado y la descripción. El mensaje de respuesta no menciona la regla IP. Rechazar direcciones de IP puede evitar que otros servicios de Azure (por ejemplo, Azure Stream Analytics, Azure Virtual Machines o el Explorador de dispositivos de Azure Portal) interactúen con el centro de IoT.

Nota

Si desea usar Azure Stream Analytics (ASA) para leer mensajes de un centro de eventos con el filtro IP habilitado, deshabilite la opción Aplicar filtros IP al punto de conexión integrado y luego use el nombre y el punto de conexión compatibles con el centro de eventos del centro de IoT para agregar manualmente una entrada de streaming de Event Hubs en ASA.

Ordenación

Las reglas de filtro IP son de tipo permitir y se aplican sin ordenación. Solo las direcciones IP que se agregan pueden conectarse a IoT Hub.

Por ejemplo, si quiere aceptar direcciones del intervalo 192.168.100.0/22 y rechazar todo lo demás, solo tiene que agregar una regla a la cuadrícula con el intervalo de direcciones 192.168.100.0/22.

Azure Portal

También se aplican las reglas de filtro IP al utilizar IoT Hub a través de Azure Portal. Esto se debe a que las llamadas API al servicio IoT Hub se realizan directamente mediante el explorador con sus credenciales, lo cual es similar a lo que ocurre con otros servicios de Azure. Para obtener acceso a IoT Hub mediante Azure Portal cuando está habilitado el filtro IP, agregue la dirección IP del equipo a la lista de permitidos.

Recuperación y actualización de los filtros IP mediante la CLI de Azure

Los filtros IP de IoT Hub se pueden recuperar y actualizar con la CLI de Azure.

Para recuperar los filtros IP actuales de IoT Hub, ejecute:

az resource show -n <iothubName> -g <resourceGroupName> --resource-type Microsoft.Devices/IotHubs

Esto devolverá un objeto JSON, donde se enumeran los filtros IP existentes bajo la clave properties.networkRuleSets:

{
...
    "properties": {
        "networkRuleSets": {
            "defaultAction": "Deny",
            "applyToBuiltInEventHubEndpoint": true,
            "ipRules": [{
                    "filterName": "TrustedFactories",
                    "action": "Allow",
                    "ipMask": "1.2.3.4/5"
                },
                {
                    "filterName": "TrustedDevices",
                    "action": "Allow",
                    "ipMask": "1.1.1.1/1"
                }
            ]
        }
    }
}

Para agregar un nuevo filtro IP de IoT Hub, ejecute:

az resource update -n <iothubName> -g <resourceGroupName> --resource-type Microsoft.Devices/IotHubs --add properties.networkRuleSets.ipRules "{\"action\":\"Allow\",\"filterName\":\"TrustedIP\",\"ipMask\":\"192.168.0.1\"}"

Para quitar un filtro IP existente en IoT Hub, ejecute:

az resource update -n <iothubName> -g <resourceGroupName> --resource-type Microsoft.Devices/IotHubs --add properties.networkRuleSets.ipRules <ipFilterIndexToRemove>

Aquí, <ipFilterIndexToRemove> tiene que corresponder a la ordenación de filtros IP de properties.networkRuleSets.ipRules de IoT Hub.

Recuperación y actualización de los filtros IP mediante Azure PowerShell

Nota:

Se recomienda usar el módulo Azure Az de PowerShell para interactuar con Azure. Consulte Instalación de Azure PowerShell para empezar. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.

Los filtros IP de IoT Hub se pueden recuperar y establecer con Azure PowerShell.

# Get your IoT Hub resource using its name and its resource group name
$iothubResource = Get-AzResource -ResourceGroupName <resourceGroupNmae> -ResourceName <iotHubName> -ExpandProperties

# Access existing IP filter rules
$iothubResource.Properties.networkRuleSets.ipRules |% { Write-host $_ }

# Construct a new IP filter
$filter = @{'filterName'='TrustedIP'; 'action'='Allow'; 'ipMask'='192.168.0.1'}

# Add your new IP filter rule
$iothubResource.Properties.networkRuleSets.ipRules += $filter

# Remove an existing IP filter rule using its name, e.g., 'GoodIP'
$iothubResource.Properties.networkRuleSets.ipRules = @($iothubResource.Properties.networkRuleSets.ipRules | Where 'filterName' -ne 'GoodIP')

# Update your IoT Hub resource with your updated IP filters
$iothubResource | Set-AzResource -Force

Actualización de las reglas de filtro IP con REST

También puede recuperar y modificar el filtro IP de IoT Hub mediante el punto de conexión REST del proveedor de recursos de Azure. Consulte properties.networkRuleSets en método createorupdate.

Pasos siguientes

Para explorar aún más las funcionalidades de IoT Hub, consulte: