Partilhar via


Usar filtros de conexão IP do Azure IoT DPS

A segurança é um aspeto importante de qualquer solução de IoT. Às vezes, você precisa especificar explicitamente os endereços IP dos quais os dispositivos podem se conectar como parte de sua configuração de segurança. O recurso de filtro IP para um DPS (Serviço de Provisionamento de Dispositivo) do Hub IoT do Azure permite configurar regras para rejeitar ou aceitar tráfego de endereços IPv4 específicos.

Quando utilizar

Existem dois casos de uso específicos em que é útil bloquear conexões para um endpoint DPS de determinados endereços IP:

  • Seu DPS deve receber tráfego apenas de um intervalo especificado de endereços IP e rejeitar todo o resto. Por exemplo, você está usando seu DPS com a Rota Expressa do Azure para criar conexões privadas entre uma instância do DPS e seus dispositivos.

  • Você precisa rejeitar o tráfego de endereços IP identificados como suspeitos pelo administrador do DPS.

Limitações das regras de filtro IP

Observe as seguintes limitações se a filtragem de IP estiver habilitada:

  • Talvez você não consiga usar o portal do Azure para gerenciar registros. Se esse cenário ocorrer, poderá adicionar o endereço IP de uma ou mais máquinas à ipFilterRules e gerir as inscrições na instância do DPS dessas máquinas com o Azure CLI, PowerShell ou as APIs de serviço.

    Esse cenário é mais provável de acontecer quando você deseja usar a filtragem de IP para permitir o acesso apenas a endereços IP selecionados. Nesse caso, você configura regras para habilitar determinados endereços ou intervalos de endereços e uma regra padrão que bloqueia todos os outros endereços (0.0.0.0/0). Esta regra padrão impede que o portal do Azure execute operações como gerenciar inscrições na instância do DPS. Para obter mais informações, consulte Avaliação da regra de filtro IP neste artigo.

Como as regras de filtro são aplicadas

As regras de filtro IP são aplicadas no nível da instância do DPS. Portanto, as regras de filtro IP se aplicam a todas as conexões de dispositivos e aplicativos back-end usando qualquer protocolo suportado.

Qualquer tentativa de conexão de um endereço IP que corresponda a uma regra de IP rejeitada em sua instância DPS recebe um código de status 401 não autorizado e uma descrição. A mensagem de resposta não menciona a regra de IP.

Importante

A rejeição de endereços IP pode impedir que outros Serviços do Azure interajam com a instância do DPS.

Configuração padrão

Por predefinição, a filtragem IP está desativada e o acesso à rede pública está definido como Todas as redes. Essa configuração padrão significa que seu DPS aceita conexões de qualquer endereço IP ou está em conformidade com uma regra que aceita o intervalo de endereços IP 0.0.0.0/0.

Captura de tela que mostra as configurações de filtro IP padrão do IoT DPS no portal do Azure.

Adicionar uma regra de filtro IP

Para adicionar uma regra de filtro IP:

  1. Vai para o portal Azure.

  2. No menu do portal ou na página do portal, selecione Todos os recursos.

  3. Selecione sua instância do Serviço de Provisionamento de Dispositivo.

  4. No menu de serviço, em Configurações, selecione Rede.

  5. No painel de trabalho, em Acesso à rede pública, selecione Intervalos IP selecionados

  6. Selecione + Adicionar regra de filtro IP.

    Captura de tela que mostra como adicionar uma regra de filtro IP a uma instância do IoT DPS no portal do Azure.

  7. Preencha os seguintes campos:

    Campo Descrição
    Nome Uma cadeia alfanumérica única, que não diferencia maiúsculas de minúsculas, com até 128 caracteres. Apenas os caracteres alfanuméricos ASCII de 7 bits mais {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''} são aceitos.
    Intervalo de endereços Um único endereço IPv4 ou um bloco de endereços IP na notação CIDR (Roteamento Inter-Domain sem classe). Por exemplo, na notação CIDR 192.168.100.0/22 representa os endereços IPv4 1024 de 192.168.100.0 a 192.168.103.255.
    Ação Selecione Permitir ou Bloquear.

    Captura de tela que mostra como definir e salvar uma regra de filtro IP para uma instância do IoT DPS no portal do Azure.

  8. Selecione Guardar. Você verá um alerta notificando que a atualização está em andamento.

    Captura de tela que mostra a notificação exibida ao salvar uma regra de filtro IP no portal do Azure.

    Observação

    + Adicionar Regra de Filtro IP é desativado quando você atinge o máximo de 100 regras de filtro IP.

Editar uma regra de filtro IP

Para editar uma regra existente:

  1. Selecione os dados da regra de filtro IP que deseja alterar.

    Captura de tela que mostra como editar uma regra de filtro IP para uma instância do IoT DPS no portal do Azure.

  2. Faça a mudança.

  3. Selecione Guardar.

Excluir uma regra de filtro IP

Para excluir uma regra de filtro IP:

  1. Selecione o ícone de exclusão na linha da regra de IP que você deseja excluir.

    Captura de tela que mostra como excluir uma regra de filtro IP para uma instância do IoT DPS no portal do Azure.

  2. Selecione Guardar.

Avaliação da regra de filtro IP

As regras de filtro IP são aplicadas em ordem. A primeira regra que corresponde ao endereço IP determina a ação de aceitação ou rejeição.

Por exemplo, se você quiser aceitar endereços no intervalo 192.168.100.0/22 e rejeitar todo o resto, a primeira regra na grade deve aceitar o intervalo de endereços 192.168.100.0/22. A próxima regra deve rejeitar todos os endereços usando o intervalo 0.0.0.0/0.

Para alterar a ordem das regras de filtro de IP:

  1. Selecione a regra que deseja mover.

  2. Arraste e solte a regra no local desejado.

  3. Selecione Guardar.

Atualizar regras de filtro IP usando modelos do Azure Resource Manager

Há duas maneiras de atualizar seu filtro IP DPS:

  1. Chame o método REST API do Recurso do Hub IoT. Para saber como atualizar suas regras de filtro IP usando REST, consulte IpFilterRule a seção Definições de Recurso do Hub IoT - Atualização.

  2. Use os modelos do Azure Resource Manager. Para obter mais informações sobre como usar os modelos do Resource Manager, consulte O que são modelos ARM?. Os exemplos a seguir mostram como criar, editar e excluir regras de filtro IP do DPS com modelos do Azure Resource Manager.

    Observação

    Atualmente, a CLI do Azure e o Azure PowerShell não oferecem suporte a atualizações de regras de filtro IP do DPS.

Adicionar uma regra de filtro IP

O exemplo de modelo a seguir cria uma nova regra de filtro IP chamada "AllowAll" que aceita todo o tráfego.

{
    "$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"
                    }
                ]
            }            
        }
    ]
}

Atualize os atributos da regra de filtro IP do modelo com base em seus requisitos.

Atributo Descrição
Nome do filtro Forneça um nome para a regra de Filtro IP. Esse valor deve ser uma cadeia alfanumérica exclusiva, sem diferenciação de maiúsculas e minúsculas, com até 128 caracteres. Apenas os caracteres alfanuméricos ASCII de 7 bits mais {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''} são aceitos.
Ação Os valores aceitos são Aceitar ou Rejeitar como a ação para a regra de filtro IP.
ipMask Forneça um único endereço IPv4 ou um bloco de endereços IP na notação CIDR. Por exemplo, na notação CIDR 192.168.100.0/22 representa os endereços IPv4 1024 de 192.168.100.0 a 192.168.103.255.

Atualizar uma regra de filtro IP

O exemplo de modelo a seguir atualiza a regra de filtro IP chamada "AllowAll", mostrada anteriormente, para rejeitar todo o tráfego.

{ 
    "$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" 
                    } 
                ] 
            }             
        } 
    ] 
}

Excluir uma regra de filtro IP

O exemplo de modelo a seguir exclui todas as regras de filtro IP para a instância 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": { 
            }             
        } 
    ] 
}

Próximos passos

Para explorar melhor o DPS de gerenciamento, consulte: