Usar filtros IP

A segurança é um aspecto importante de qualquer solução de IoT com base no Hub IoT do Azure. À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 IP permite que você configure regras para rejeitar ou aceitar tráfego de endereços IPv4 específicos.

Quando usar

Use o filtro IP para receber tráfego somente de um intervalo especificado de endereços IP e rejeitar todos os outros. Por exemplo, caso você esteja usando o Hub IoT com o Azure ExpressRoute para criar conexões privadas entre um Hub IoT e sua infraestrutura local.

Configuração padrão

Para acessar a página Configurações de filtro de IP do Hub IoT, selecione Rede>Acesso público e escolha Intervalos de IP selecionados:

Screenshot showing how to set default IP filter settings.

Por padrão, a grade Filtro IP no portal de Hub IoT fica vazia. Essa configuração padrão significa que seu hub bloqueia conexões de quaisquer endereços IP. Essa configuração padrão é equivalente a uma regra que bloqueia o intervalo de endereços IP 0.0.0.0/0.

Adicionar ou editar uma regra de filtro IP

Para adicionar uma regra de filtro de IP, selecione Adicionar regra de filtro de IP. Para adicionar rapidamente o endereço IP do computador, clique em Adicionar o endereço IP do cliente.

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

Após selecionar Adicionar regra de filtro de IP, preencha os campos. Esses campos serão preenchidos previamente se você tiver selecionado para adicionar o endereço IP do cliente.

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

  • Forneça um nome para a regra de filtro de IP. Este nome deve ser uma cadeia exclusiva de caracteres alfanuméricos, que não diferencia maiúsculas de minúsculas, de até 128 caracteres. Somente os caracteres alfanuméricos ASCII de 7 bits e os seguintes caracteres especiais são aceitos: - : . + % _ # * ? ! ( ) , = @ ; '.

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

Depois de preencher os campos, selecione Salvar para salvar a regra. Você verá um alerta informando que a atualização está em andamento.

Screenshot that shows notification about saving an IP filter rule.

A opção Adicionar é desabilitada quando você atinge o máximo de 100 regras de filtro IP.

Para editar uma regra existente, selecione os dados que você deseja alterar, faça a alteração e, em seguida, selecione Salvar para salvar a alteração.

Excluir uma regra de filtro IP

Para excluir uma regra de filtro de IP, selecione o ícone de lixeira na respectiva linha e, em seguida, selecione Salvar. Isso removerá a regra e salvará a alteração.

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

Aplicar regras de filtro IP ao ponto de extremidade compatível com os Hubs de Eventos internos

Para aplicar as regras de filtro IP ao ponto de extremidade compatível com os Hubs de Eventos internos, marque a caixa ao lado de Aplicar filtros IP ao ponto de extremidade interno? e, em seguida, selecione Salvar.

Screenshot showing the toggle for the built-in endpoint.

Observação

Essa opção não está disponível para hubs de IoT gratuitos (F1). Para aplicar regras de filtro de IP ao ponto de extremidade interno, use um hub IoT pago.

Ao habilitar essa opção, suas regras de filtro IP são replicadas para o ponto de extremidade interno, de modo que somente os intervalos de IP confiáveis podem acessá-la.

Se você desabilitar essa opção, o ponto de extremidade interno poderá ser acessado por todos os endereços IP. Esse comportamento poderá ser útil se você quiser ler do ponto de extremidade com serviços com endereços IP de origem que podem mudar com o tempo, como o Azure Stream Analytics.

Como são aplicadas as regras de filtro

As regras de filtro IP são aplicadas no nível do serviço Hub IoT. Portanto, as regras de filtro de IP se aplicam a todas as conexões de dispositivos e aplicativos de back-end que usam qualquer protocolo com suporte. Além disso, você pode escolher se o ponto de extremidade compatível com os Hubs de Eventos internos (não por meio da cadeia de conexão do Hub IoT) está associado a essas regras.

Todas as tentativas de conexão de um endereço IP que não são explicitamente permitidas, recebem um código de status 401 não autorizado e uma descrição. A mensagem de resposta não menciona a regra IP. Rejeitar endereços IP pode impedir que outros serviços do Azure como Stream Analytics do Azure, Máquinas Virtuais do Azure ou o Gerenciador de Dispositivos no portal do Azure interajam com o hub IoT.

Observação

Se você quer usar o Azure Stream Analytics (ASA) para ler mensagens de um hub IoT com o filtro de IP habilitado, desabilite a opção Aplicar filtros de IP para o ponto de extremidade interno e use o nome compatível com o hub de eventos e o ponto de extremidade do hub IoT para adicionar manualmente uma Entrada de fluxo dos Hubs de Eventos no ASA.

Ordenando

As regras de filtro IP são regras de permissão e aplicadas sem ordenação. Somente endereços IP que você adiciona têm permissão para se conectar ao Hub IoT.

Por exemplo, se você quiser aceitar endereços no intervalo 192.168.100.0/22 e rejeitar todo o resto, você só precisa adicionar uma regra na grade com o intervalo de endereços 192.168.100.0/22.

Portal do Azure

As regras de filtro IP também são aplicadas ao usar o Hub IoT por meio de portal do Azure. Isso ocorre porque as chamadas à API para o serviço do Hub IoT são feitas diretamente usando seu navegador com suas credenciais, o que é consistente com outros serviços do Azure. Para acessar o Hub IoT usando o portal do Azure quando o filtro IP estiver habilitado, inclua o endereço IP do computador à lista de permissões.

Recuperar e atualizar os filtros IP usando a CLI do Azure

Os filtros de IP do seu Hub IoT Podem ser recuperados e atualizados por meio da CLI do Azure.

Para recuperar os filtros IP atuais do Hub IoT, execute:

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

Isso retornará um objeto JSON onde seus filtros IP existentes são listados na chave 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 adicionar um novo filtro IP para o Hub IoT, execute:

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 remover um filtro IP existente em seu Hub IoT, execute:

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

Aqui, <ipFilterIndexToRemove> deve corresponder à ordenação de filtros IP no properties.networkRuleSets.ipRules do seu Hub IoT.

Recuperar e atualizar os filtros IP usando o Azure PowerShell

Observação

Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Confira Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

Os filtros de IP do seu Hub IoT podem ser recuperados e configurados através do 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

Atualizar as regras do filtro de IP usando REST

Você também pode recuperar e modificar um filtro de IP do seu Hub IoT usando o ponto de extremidade REST do provedor de recursos do Azure. Veja properties.networkRuleSets no método createorupdate.

Próximas etapas

Para explorar melhor as funcionalidades do Hub IoT, consulte: