Compartilhar via


Usar filtros de conexão de IP do DPS em IoT do Azure

A segurança é um aspecto importante de qualquer solução de IoT. Às vezes você precisa especificar explicitamente os endereços IP dos quais o dispositivo pode se conectar como parte da sua configuração de segurança. O recurso Filtro de IP de um DPS (Serviço de Provisionamento de Dispositivos) no Hub IoT do Azure permite que você configure regras para rejeitar ou aceitar o tráfego de endereços IPv4 específicos.

Quando usar

Há dois casos de uso específicos em que é útil bloquear o acesso de um endpoint DPS de determinados endereços IP:

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

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

Limitações de regras de filtro de 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, você poderá adicionar o endereço IP de uma ou mais máquinas ao ipFilterRules e gerenciar registros na instância DPS a partir dessas máquinas usando o Azure CLI, PowerShell ou APIs de serviço.

    Esse cenário provavelmente ocorrerá quando você quiser usar a filtragem de IP para permitir o acesso somente 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). Essa regra padrão impede que o portal do Azure execute operações como o gerenciamento de registros na instância do DPS. Para obter mais informações, consulte a avaliação da regra de filtro IP neste artigo.

Como são aplicadas as regras de filtro

As regras de filtro de 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 de back-end que usam qualquer protocolo com suporte.

Todas as tentativas de conexão de um endereço IP que correspondem a uma regra de rejeição de IP na instância do DPS recebem 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 padrão, a filtragem de IP está desabilitada 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 de IP

Para adicionar uma regra de filtro de IP:

  1. Acesse o portal do 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 Dispositivos.

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

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

  6. Selecione + Adicionar uma Regra de Filtro de IP.

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

  7. Preencha os seguintes campos:

    Campo Descrição
    Nome Uma cadeia exclusiva de caracteres alfanuméricos, que não diferencia maiúsculas de minúsculas, de até 128 caracteres. Somente são aceitos caracteres alfanuméricos ASCII de 7 bits mais {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''}.
    Intervalo de endereços Um só endereço IPv4 ou bloco de endereços IP na notação CIDR (Roteamento entre Domínios sem Classificação). Por exemplo, uma notação CIDR 192.168.100.0/22 representa os 1024 endereços IPv4 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 DPS IoT no portal do Azure.

  8. Clique em Salvar. Você deve ver um alerta informando 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 é desabilitada quando você atinge o máximo de 100 regras de filtro IP.

Editar uma regra de filtro de IP

Editar uma regra existente:

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

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

  2. Faça a alteração.

  3. Clique em Salvar.

Excluir uma regra de filtro IP

Para excluir uma regra de filtro IP:

  1. Selecione o ícone excluir 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 DPS IoT no portal do Azure.

  2. Clique em Salvar.

Avaliação da regra de filtro IP

As regras de filtro IP são aplicadas na ordem. A primeira regra que corresponde ao endereço IP determina a ação de aceitar ou rejeitar.

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 deverá 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 você deseja mover.

  2. Arraste e solte a regra para o local desejado.

  3. Clique em Salvar.

Atualizar regras de filtro IP usando modelos de Azure Resource Manager

Há duas maneiras de atualizar seu filtro IP de DPS:

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

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

    Observação

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

Adicionar uma regra de filtro de IP

O exemplo de modelo a seguir cria uma regra de filtro de 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 de IP do modelo com base nos seus requisitos.

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

Atualizar uma regra de filtro de IP

O exemplo de modelo a seguir atualiza a regra de filtro de IP chamada "AllowAll", já mostrada, 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 de IP da instância do 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óximas etapas

Para explorar melhor o DPS de gerenciamento, confira: