Condividi tramite


Usare i filtri di connessione IP di Azure IoT DPS

La sicurezza è un aspetto importante di qualsiasi soluzione IoT. Talvolta è necessario specificare in modo esplicito gli indirizzi IP da cui possono connettersi i dispositivi come parte della configurazione di sicurezza. La funzionalità di filtro IP per un servizio Device Provisioning (DPS) dell'hub IoT di Azure consente di configurare le regole per rifiutare o accettare il traffico da indirizzi IPv4 specifici.

Quando utilizzare

Esistono due casi d'uso specifici in cui è utile bloccare le connessioni a un endpoint DPS da determinati indirizzi IP:

  • Il DPS deve ricevere il traffico solo da un intervallo specificato di indirizzi IP e rifiutare tutto il resto. Ad esempio, si usa il servizio Device Provisioning con Azure Express Route per creare connessioni private tra un'istanza del servizio Device Provisioning e i dispositivi.

  • È necessario rifiutare il traffico proveniente da indirizzi IP identificati come sospetti dall'amministratore del servizio Device Provisioning.

Limitazioni delle regole di filtro IP

Si notino le seguenti limitazioni se il filtro IP è abilitato:

  • Potrebbe non essere possibile usare il portale di Azure per gestire le registrazioni. In questo caso, è possibile aggiungere l'indirizzo IP di uno o più computer e ipFilterRules gestire le registrazioni nell'istanza DPS da tali computer con l'interfaccia della riga di comando di Azure, PowerShell o le API del servizio.

    Questo scenario è più probabile che si verifichi quando si desidera utilizzare il filtro IP per consentire l'accesso solo agli indirizzi IP selezionati. In questo caso, si configurano le regole per abilitare determinati indirizzi o intervalli di indirizzi e una regola predefinita che blocca tutti gli altri indirizzi (0.0.0.0/0). Questa regola predefinita impedirà al portale di Azure di eseguire operazioni come la gestione delle registrazioni nell'istanza di DPS. Per altre informazioni, vedere Valutazione delle regole di filtro IP più avanti in questo articolo.

Come vengono applicate le regole di filtro

Le regole di filtro IP vengono applicate a livello di istanza DPS. Pertanto, le regole del filtro IP si applicano a tutte le connessioni da dispositivi e app back-end che utilizzano qualsiasi protocollo supportato.

Qualsiasi tentativo di connessione da un indirizzo IP che corrisponde a una regola IP di rifiuto nell'istanza DPS riceve un codice di stato 401 e una descrizione non autorizzati. Il messaggio di risposta non menziona la regola IP.

Importante

Il rifiuto degli indirizzi IP può impedire ad altri servizi di Azure di interagire con l'istanza di DPS.

Impostazione predefinita

Per impostazione predefinita, il filtro IP è disabilitato e l'accesso alla rete pubblica è impostato su Tutte le reti. Questa impostazione predefinita indica che il DPS accetta connessioni da qualsiasi indirizzo IP o è conforme a una regola che accetta l'intervallo di indirizzi IP 0.0.0.0/0.

Impostazioni predefinite del filtro IP di IoT DPS.

Aggiungere una regola di filtro IP

Per aggiungere una regola di filtro IP:

  1. Vai al portale di Azure .

  2. Nel menu a sinistra o nella pagina del portale selezionare Tutte le risorse.

  3. Selezionare il servizio Device Provisioning.

  4. Nel menu Impostazioni sul lato sinistro, seleziona Rete.

  5. In Accesso alla rete pubblica, seleziona Intervalli IP selezionati

  6. Selezionare + Aggiungi regola filtro IP.

    Aggiungere una regola di filtro IP a un servizio Device Provisioning IoT.

  7. Compilare i campi seguenti:

    Campo Descrizione
    Nome Stringa alfanumerica univoca, senza distinzione tra maiuscole e minuscole, composta da un massimo di 128 caratteri. Sono accettati solo i caratteri alfanumerici ASCII a 7 bit plus {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''} .
    Intervallo di indirizzi 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.
    azione Selezionare Consenti o Blocca.

    Dopo aver selezionato Aggiungi una regola di filtro IP.

  8. Seleziona Salva. Dovresti vedere un avviso che ti informa che l'aggiornamento è in corso.

    Notifica relativa al salvataggio di una regola di filtro IP.

    Annotazioni

    + Aggiungi regola filtro IP è disabilitato quando si raggiunge il massimo di 100 regole di filtro IP.

Modificare una regola di filtro IP

Per modificare una regola esistente:

  1. Selezionare i dati della regola di filtro IP che si desidera modificare.

    Modificare una regola di filtro IP.

  2. Apporta la modifica.

  3. Selezionare Salva .

Eliminare una regola del filtro IP

Per eliminare una regola di filtro IP:

  1. Selezionare l'icona Elimina nella riga della regola IP che si desidera eliminare.

    Eliminare una regola di filtro IP IoT DPS.

  2. Seleziona Salva.

Valutazione delle regole del filtro IP

Le regole del filtro IP vengono applicate in ordine. La prima regola che corrisponde all'indirizzo IP determina l'azione di accettazione o rifiuto.

Ad esempio, se si desidera accettare indirizzi nell'intervallo 192.168.100.0/22 e rifiutare tutto il resto, la prima regola nella griglia deve accettare l'intervallo di indirizzi 192.168.100.0/22. La regola successiva deve rifiutare tutti gli indirizzi utilizzando l'intervallo 0.0.0.0/0.

Per modificare l'ordine delle regole del filtro IP:

  1. Seleziona la regola che desideri spostare.

  2. Trascina e rilascia la regola nella posizione desiderata.

  3. Seleziona Salva.

Aggiornare le regole del filtro IP usando i modelli di Azure Resource Manager

Esistono due modi per aggiornare il filtro IP DPS:

  1. Chiamare il metodo dell'API REST della risorsa dell'hub IoT. Per informazioni su come aggiornare le regole del filtro IP usando REST, vedere IpFilterRule la sezione Definizioni del metodo IoT Hub Resource - Update.

  2. Usare i modelli di Azure Resource Manager. Per indicazioni su come usare i modelli di Resource Manager, vedere Modelli di Azure Resource Manager. Gli esempi seguenti illustrano come creare, modificare ed eliminare le regole di filtro IP DPS con i modelli di Azure Resource Manager.

    Annotazioni

    L'interfaccia della riga di comando di Azure e Azure PowerShell non supportano attualmente gli aggiornamenti delle regole di filtro IP DPS.

Aggiungere una regola di filtro IP

Nell'esempio di modello seguente viene creata una nuova regola di filtro IP denominata "AllowAll" che accetta tutto il traffico.

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

Aggiornare gli attributi della regola del filtro IP del modello in base ai requisiti.

Attributo Descrizione
FilterName Specificare un nome per la regola del filtro IP. Deve trattarsi di una stringa alfanumerica univoca, senza distinzione tra maiuscole e minuscole, composta da un massimo di 128 caratteri. Sono accettati solo i caratteri alfanumerici ASCII a 7 bit plus {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''} .
azione I valori accettati sono Accetta o Rifiuta come azione per la regola di filtro IP.
ipMask 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.

Aggiornare una regola di filtro IP

Nell'esempio di modello seguente viene aggiornata la regola di filtro IP denominata "AllowAll", illustrata in precedenza, per rifiutare tutto il traffico.

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

Eliminare una regola del filtro IP

Nell'esempio di modello seguente vengono eliminate tutte le regole di filtro IP per l'istanza 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": { 
            }             
        } 
    ] 
}

Passaggi successivi

Per ulteriori informazioni sulla gestione del DPS, vedere: