Usare i filtri IP

La sicurezza è un aspetto importante di qualsiasi soluzione IoT basata su un hub IoT di Azure. Talvolta è necessario specificare in modo esplicito gli indirizzi IP da cui possono connettersi i dispositivi come parte della configurazione di sicurezza. La funzionalità Filtro IP consente di configurare regole per rifiutare o accettare il traffico da specifici indirizzi IPv4.

Quando utilizzare

Usare il filtro IP per ricevere il traffico solo da un intervallo specificato di indirizzi IP e rifiutare tutto il resto. Ad esempio, si usa l'hub IoT con Azure ExpressRoute per creare connessioni private tra un hub IoT e l'infrastruttura locale.

Impostazione predefinita

Per accedere alla pagina Impostazioni filtro IP dell'hub IoT, selezionare Accesso>pubblico di rete, quindi scegliere Intervalli IP selezionati:

Screenshot showing how to set default IP filter settings.

Per impostazione predefinita, la griglia Filtro IP nel portale di un hub IoT è vuota. Questa impostazione predefinita indica che l'hub blocca le connessioni da tutti gli indirizzi IP. Questa impostazione predefinita equivale a una regola che blocca l'intervallo 0.0.0.0/0 di indirizzi IP.

Aggiungere o modificare una regola del filtro IP

Per aggiungere una regola di filtro IP, selezionare Aggiungi regola filtro IP. Per aggiungere rapidamente l'indirizzo IP del computer, selezionare Aggiungi l'indirizzo IP del client.

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

Dopo aver selezionato Aggiungi regola di filtro IP, compilare i campi. Questi campi vengono precompilati se si è scelto di aggiungere l'indirizzo IP client.

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

  • Specificare un nome per la regola di Filtro IP. Questo nome deve essere una stringa alfanumerica univoca senza distinzione tra maiuscole e minuscole fino a 128 caratteri. Vengono accettati solo i caratteri alfanumerici ASCII a 7 bit e i caratteri speciali seguenti: - : . + % _ # * ? ! ( ) , = @ ; '.

  • Specificare un singolo indirizzo IPv4 o un blocco di indirizzi IP in notazione CIDR. In notazione CIDR, ad esempio, 192.168.100.0/22 rappresenta gli indirizzi IPv4 1024 da 192.168.100.0 a 192.168.103.255.

Dopo aver compilato i campi, selezionare Salva per salvare la regola. Viene visualizzato un avviso che informa che l'aggiornamento è in corso.

Screenshot that shows notification about saving an IP filter rule.

L'opzione Aggiungi è disabilitata quando si raggiunge il massimo di 100 regole di filtro IP.

Per modificare una regola esistente, selezionare i dati che si desidera modificare, apportare le modifiche, quindi selezionare Salva per salvare la modifica.

Eliminare una regola del filtro IP

Per eliminare una regola di filtro IP, selezionare l'icona del cestino sulla riga e quindi selezionare Salva. La regola viene rimossa e la modifica viene salvata.

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

Applicare regole di filtro IP all'endpoint compatibile con Hub eventi predefinito

Per applicare le regole di filtro IP all'endpoint compatibile con Hub eventi predefinito, selezionare la casella accanto a Applica filtri IP all'endpoint predefinito?, quindi selezionare Salva.

Screenshot showing the toggle for the built-in endpoint.

Nota

Questa opzione non è disponibile per gli hub IoT gratuiti (F1). Per applicare regole di filtro IP all'endpoint predefinito, usare un hub IoT a pagamento.

Abilitando questa opzione, le regole di filtro IP vengono replicate nell'endpoint predefinito, in modo che solo gli intervalli IP attendibili possano accedervi.

Se si disabilita questa opzione, l'endpoint predefinito è accessibile a tutti gli indirizzi IP. Questo comportamento può essere utile se si vuole leggere dall'endpoint con servizi con indirizzi IP di origine che possono cambiare nel tempo, ad esempio Analisi di flusso di Azure.

Come vengono applicate le regole di filtro

Le regole del filtro IP vengono applicate a livello del servizio dell'hub IoT. Le regole del filtro IP vengono quindi applicate a tutte le connessioni provenienti dai dispositivi e dalle app back-end con qualsiasi protocollo supportato. È anche possibile scegliere se l'endpoint compatibile con Hub eventi predefinito (non tramite il hub IoT stringa di connessione) è associato a queste regole.

Qualsiasi tentativo di connessione da un indirizzo IP non consentito in modo esplicito riceve un codice di stato e una descrizione non autorizzati 401. Il messaggio di risposta non indica la regola IP. Il rifiuto di indirizzi IP può impedire l'interazione di altri servizi di Azure, ad esempio Analisi di flusso di Azure, Macchine virtuali di Azure o Device Explorer nel portale di Azure, con l'hub IoT.

Nota

Se si vuole usare Analisi di flusso di Azure per leggere i messaggi da un hub IoT con filtro IP abilitato, disabilitare l'opzione Applica filtri IP all'endpoint predefinito e quindi usare il nome e l'endpoint compatibili con hub eventi dell'hub IoT per aggiungere manualmente un input del flusso di Hub eventi nell'ambiente del servizio app.

Creazione dell'ordine

Le regole di filtro IP sono regole consentite e applicate senza ordinare. Solo gli indirizzi IP aggiunti sono autorizzati a connettersi a hub IoT.

Ad esempio, se si desidera accettare indirizzi nell'intervallo 192.168.100.0/22 e rifiutare tutto il resto, è sufficiente aggiungere una regola nella griglia con l'intervallo di indirizzi 192.168.100.0/22.

Azure portal

Le regole di filtro IP vengono applicate anche quando si usano hub IoT tramite portale di Azure. Ciò è dovuto al fatto che le chiamate API al servizio hub IoT vengono effettuate direttamente usando il browser con le credenziali, che è coerente con altri servizi di Azure. Per accedere hub IoT usando portale di Azure quando il filtro IP è abilitato, aggiungere l'indirizzo IP del computer all'elenco elementi consentiti.

Recuperare e aggiornare i filtri IP tramite l'interfaccia della riga di comando di Azure

I filtri IP dell'hub IoT possono essere recuperati e aggiornati tramite l'interfaccia della riga di comando di Azure.

Per recuperare i filtri IP correnti dell'hub IoT, eseguire:

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

Verrà restituito un oggetto JSON in cui i filtri IP esistenti sono elencati sotto la chiave 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"
                }
            ]
        }
    }
}

Per aggiungere un nuovo filtro IP per l'hub IoT, eseguire:

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\"}"

Per rimuovere un filtro IP esistente nell'hub IoT, eseguire:

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

In questo caso, <ipFilterIndexToRemove> deve corrispondere all'ordinamento dei filtri IP nel hub IoT .properties.networkRuleSets.ipRules

Recuperare e aggiornare i filtri IP tramite Azure PowerShell

Nota

È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

I filtri IP dell'hub IoT possono essere recuperati e impostati tramite 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

Aggiornare le regole di filtro IP tramite REST

È possibile recuperare e modificare il filtro IP dell'hub IoT anche usando l'endpoint REST del provider di risorse di Azure. Vedere properties.networkRuleSets nel metodo createorupdate.

Passaggi successivi

Per altre informazioni sulle funzionalità dell'hub IoT, vedere: