Utilizar filtros de IP
A segurança é um aspeto importante de qualquer solução de IoT baseada no Hub IoT do Azure. Por vezes, como parte da sua configuração de segurança, tem de especificar explicitamente os endereços IP a partir dos quais os dispositivos se podem ligar. O recurso de filtro IP permite configurar regras para rejeitar ou aceitar tráfego de endereços IPv4 específicos.
Quando utilizar o
Use o filtro IP para receber tráfego somente de um intervalo especificado de endereços IP e rejeitar todo o resto. Por exemplo, você está usando seu hub IoT com o Azure Express Route para criar conexões privadas entre um hub IoT e sua infraestrutura local.
Definição predefinida
Para aceder à página de definições do Filtro IP do seu hub IoT, selecione Definições>de segurança Rede>Acesso público e, em seguida, selecione Intervalos IP selecionados:
Por padrão, a grade do Filtro IP no portal de um hub IoT está vazia. Essa configuração padrão significa que seu hub bloqueia conexões de todos os endereços IP. Essa configuração padrão é equivalente a uma regra que bloqueia o intervalo de 0.0.0.0/0
endereços IP.
Adicionar ou editar uma regra de filtro de IP
Para adicionar uma regra de filtro IP, selecione Adicionar Regra de Filtro IP. Para adicionar rapidamente o endereço IP do computador, selecione Adicionar o endereço IP do cliente.
Depois de selecionar Adicionar Regra de Filtro de IP, preencha os campos. Esses campos são pré-preenchidos para você se você selecionou para adicionar o endereço IP do seu cliente.
Indique um nome para a regra de Filtro de IP. Esse nome deve ser uma cadeia alfanumérica exclusiva, sem diferenciação de maiúsculas e minúsculas, com até 128 caracteres. Somente os caracteres alfanuméricos ASCII de 7 bits mais os seguintes caracteres especiais são aceitos:
- : . + % _ # * ? ! ( ) , = @ ; '
.Indique um endereço IPv4 individual ou um bloco de endereços IP em notação CIDR. Por exemplo, em notação CIDR, 192.168.100.0/22 representa os endereços IPv4 1024 de 192.168.100.0 a 192.168.103.255.
Depois de preencher os campos, selecione Guardar para guardar a regra. Pode ver um alerta que o notifica que a atualização está em curso.
A opção Adicionar é desativada quando você atinge o máximo de 100 regras de filtro IP.
Para editar uma regra existente, selecione os dados que pretende alterar, faça a alteração e selecione Guardar para guardar a edição.
Eliminar uma regra de filtro de IP
Para excluir uma regra de filtro IP, selecione o ícone da lixeira nessa linha e selecione Salvar. A regra é removida e a alteração guardada.
Aplicar regras de filtro IP ao ponto de extremidade compatível com Hubs de Eventos interno
Para aplicar as regras de filtro IP ao ponto de extremidade compatível com Hubs de Eventos interno, marque a caixa ao lado de Aplicar filtros IP ao ponto de extremidade interno?, e selecione Salvar.
Nota
Esta opção não está disponível para hubs IoT gratuitos (F1). Para aplicar regras de filtro IP ao ponto de extremidade interno, use um hub IoT pago.
Ao habilitar essa opção, suas regras de filtro de IP são replicadas para o ponto de extremidade interno, para que apenas intervalos de IP confiáveis possam acessá-lo.
Se você desabilitar essa opção, o ponto de extremidade interno estará acessível a todos os endereços IP. Esse comportamento pode ser útil se você quiser ler a partir do ponto de extremidade com serviços com endereços IP de origem que podem mudar ao longo do 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 de serviço do Hub IoT. Portanto, as regras de filtro IP se aplicam a todas as conexões de dispositivos e aplicativos back-end usando qualquer protocolo suportado. Além disso, você pode escolher se o ponto de extremidade compatível com Hubs de Eventos interno (não por meio da cadeia de conexão do Hub IoT) está vinculado a essas regras.
Qualquer tentativa de conexão de um endereço IP que não seja explicitamente permitida 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. A rejeição de endereços IP pode impedir que outros serviços do Azure, como o Azure Stream Analytics, as Máquinas Virtuais do Azure ou o Explorador de Dispositivos no portal do Azure, interajam com o hub IoT.
Nota
Se você quiser usar o Azure Stream Analytics (ASA) para ler mensagens de um hub IoT com filtro IP habilitado, desabilite a opção Aplicar filtros IP ao ponto de extremidade interno e use o nome compatível com o hub de eventos e o ponto de extremidade do seu hub IoT para adicionar manualmente uma entrada de fluxo de Hubs de Eventos no ASA.
Portal do Azure
As regras de filtro IP também são aplicadas ao usar o Hub IoT por meio do portal do Azure. Isso ocorre porque as chamadas de API para o serviço 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, adicione o endereço IP do seu computador à lista de permissões.
Ordenação
As regras de filtro IP são regras de permissão e são aplicadas sem ordenação. Somente os endereços IP que você adicionar 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 intervalo de endereços 192.168.100.0/22
.
Recuperar e atualizar filtros IP usando a CLI do Azure
Os filtros IP do seu hub IoT podem ser recuperados e atualizados por meio da CLI do Azure.
Para recuperar os filtros IP atuais do seu Hub IoT, execute:
az resource show -n <iothubName> -g <resourceGroupName> --resource-type Microsoft.Devices/IotHubs
Isso retorna um objeto JSON onde seus filtros IP existentes estão listados sob a properties.networkRuleSets
chave:
{
...
"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 seu 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 no Hub IoT, execute:
az resource update -n <iothubName> -g <resourceGroupName> --resource-type Microsoft.Devices/IotHubs --add properties.networkRuleSets.ipRules <ipFilterIndexToRemove>
Aqui, <ipFilterIndexToRemove>
corresponde à ordenação dos filtros IP no seu hub IoT.properties.networkRuleSets.ipRules
Recuperar e atualizar filtros IP usando o Azure PowerShell
Nota
Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.
Os filtros IP do Hub IoT podem ser recuperados e definidos por meio 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 regras de filtro IP usando REST
Você também pode recuperar e modificar o filtro IP do Hub IoT usando o ponto de extremidade REST do Provedor de Recursos do Azure. Veja properties.networkRuleSets
no método createorupdate.
Próximos passos
Para explorar melhor os recursos do Hub IoT, consulte: