Korzystanie z filtrów adresów IP

Zabezpieczenia są ważnym aspektem każdego rozwiązania IoT opartego na usłudze Azure IoT Hub. Czasami trzeba jawnie określić adresy IP, z których urządzenia mogą łączyć się w ramach konfiguracji zabezpieczeń. Funkcja filtrowania adresów IP umożliwia konfigurowanie reguł odrzucania lub akceptowania ruchu z określonych adresów IPv4.

Kiedy używać

Użyj filtru IP, aby odbierać ruch tylko z określonego zakresu adresów IP i odrzucać wszystko inne. Na przykład używasz centrum IoT z usługą Azure Express Route do tworzenia połączeń prywatnych między centrum IoT i infrastrukturą lokalną.

Ustawienie domyślne

Aby przejść do strony Ustawienia filtru adresów IP centrum IoT, wybierz pozycję Dostęp publiczny do sieci>, a następnie wybierz pozycję Wybrane zakresy adresów IP:

Screenshot showing how to set default IP filter settings.

Domyślnie siatka Filtr adresów IP w portalu dla centrum IoT jest pusta. To ustawienie domyślne oznacza, że centrum blokuje połączenia ze wszystkich adresów IP. To ustawienie domyślne jest równoważne regule, która blokuje 0.0.0.0/0 zakres adresów IP.

Dodawanie lub edytowanie reguły filtru adresów IP

Aby dodać regułę filtru adresów IP, wybierz pozycję Dodaj regułę filtru adresów IP. Aby szybko dodać adres IP komputera, wybierz pozycję Dodaj adres IP klienta.

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

Po wybraniu pozycji Dodaj regułę filtrowania adresów IP wypełnij pola. Te pola są wstępnie wypełnione, jeśli wybrano opcję dodania adresu IP klienta.

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

  • Podaj nazwę reguły filtrowania adresów IP. Ta nazwa musi być unikatową, bez uwzględniania wielkości liter, alfanumeryczną ciągiem o długości do 128 znaków. Akceptowane są tylko znaki alfanumeryczne ASCII 7-bitowe oraz następujące znaki specjalne: - : . + % _ # * ? ! ( ) , = @ ; '.

  • Podaj pojedynczy adres IPv4 lub blok adresów IP w notacji CIDR. Na przykład w notacji CIDR zapis 192.168.100.0/22 reprezentuje 1024 adresy IPv4 z zakresu od 192.168.100.0 do 192.168.103.255.

Po wypełnieniu pól wybierz pozycję Zapisz, aby zapisać regułę. Zostanie wyświetlony alert informujący o tym, że aktualizacja jest w toku.

Screenshot that shows notification about saving an IP filter rule.

Opcja Dodaj jest wyłączona, gdy osiągniesz maksymalnie 100 reguł filtrowania adresów IP.

Aby edytować istniejącą regułę, wybierz dane, które chcesz zmienić, wprowadź zmianę, a następnie wybierz pozycję Zapisz, aby zapisać zmiany.

Usuwanie reguły filtrowania adresów IP

Aby usunąć regułę filtrowania adresów IP, wybierz ikonę kosza dla tego wiersza, a następnie wybierz pozycję Zapisz. Reguła zostanie usunięta, a zmiana zostanie zapisana.

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

Stosowanie reguł filtrowania adresów IP do wbudowanego punktu końcowego zgodnego z usługą Event Hubs

Aby zastosować reguły filtrowania adresów IP do wbudowanego punktu końcowego zgodnego z usługą Event Hubs, zaznacz pole wyboru obok pozycji Zastosuj filtry adresów IP do wbudowanego punktu końcowego?, a następnie wybierz pozycję Zapisz.

Screenshot showing the toggle for the built-in endpoint.

Uwaga

Ta opcja nie jest dostępna dla bezpłatnych (F1) centrów IoT. Aby zastosować reguły filtrowania adresów IP do wbudowanego punktu końcowego, użyj płatnego centrum IoT.

Po włączeniu tej opcji reguły filtrowania adresów IP są replikowane do wbudowanego punktu końcowego, więc tylko zaufane zakresy adresów IP mogą uzyskiwać do niego dostęp.

Jeśli wyłączysz tę opcję, wbudowany punkt końcowy będzie dostępny dla wszystkich adresów IP. To zachowanie może być przydatne, jeśli chcesz odczytać z punktu końcowego z usługami z źródłowymi adresami IP, które mogą ulec zmianie w czasie, takim jak usługa Azure Stream Analytics.

Jak są stosowane reguły filtrowania

Reguły filtrowania adresów IP są stosowane na poziomie usługi IoT Hub. W związku z tym reguły filtrowania adresów IP mają zastosowanie do wszystkich połączeń z urządzeń i aplikacji zaplecza przy użyciu dowolnego obsługiwanego protokołu. Ponadto możesz wybrać, czy wbudowany punkt końcowy zgodny z usługą Event Hubs (nie za pośrednictwem usługi IoT Hub parametry połączenia) jest powiązany z tymi regułami.

Wszelkie próby nawiązania połączenia z adresu IP, który nie jest jawnie dozwolony, odbiera nieautoryzowany kod stanu 401 i opis. Komunikat odpowiedzi nie zawiera reguły adresu IP. Odrzucenie adresów IP może uniemożliwić innym usługom platformy Azure, takim jak Azure Stream Analytics, Azure Virtual Machines lub Eksplorator urządzeń w witrynie Azure Portal, interakcję z centrum IoT Hub.

Uwaga

Jeśli chcesz użyć usługi Azure Stream Analytics (ASA) do odczytywania komunikatów z centrum IoT z włączonym filtrem IP, wyłącz opcję Zastosuj filtry adresów IP do wbudowanego punktu końcowego, a następnie użyj nazwy i punktu końcowego zgodnego z centrum zdarzeń i punktu końcowego centrum IoT, aby ręcznie dodać dane wejściowe strumienia usługi Event Hubs w usłudze ASA.

Zamawianie

Reguły filtrowania adresów IP to reguły zezwalania i stosowane bez zamawiania. Tylko dodane adresy IP mogą łączyć się z usługą IoT Hub.

Jeśli na przykład chcesz zaakceptować adresy w zakresie 192.168.100.0/22 i odrzucić wszystkie inne elementy, musisz dodać tylko jedną regułę w siatce z zakresem adresów 192.168.100.0/22.

Azure Portal

Reguły filtrowania adresów IP są również stosowane w przypadku korzystania z usługi IoT Hub za pośrednictwem witryny Azure Portal. Dzieje się tak, ponieważ wywołania interfejsu API do usługi IoT Hub są wykonywane bezpośrednio przy użyciu przeglądarki z poświadczeniami, co jest zgodne z innymi usługami platformy Azure. Aby uzyskać dostęp do usługi IoT Hub przy użyciu witryny Azure Portal po włączeniu filtrowania adresów IP, dodaj adres IP komputera do listy dozwolonych.

Pobieranie i aktualizowanie filtrów adresów IP przy użyciu interfejsu wiersza polecenia platformy Azure

Filtry adresów IP usługi IoT Hub można pobrać i zaktualizować za pomocą interfejsu wiersza polecenia platformy Azure.

Aby pobrać bieżące filtry adresów IP usługi IoT Hub, uruchom polecenie:

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

Spowoduje to zwrócenie obiektu JSON, w którym istniejące filtry adresów IP są wymienione w kluczu 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"
                }
            ]
        }
    }
}

Aby dodać nowy filtr adresów IP dla usługi IoT Hub, uruchom polecenie:

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

Aby usunąć istniejący filtr IP w usłudze IoT Hub, uruchom polecenie:

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

<ipFilterIndexToRemove> W tym miejscu musi odpowiadać kolejności filtrów adresów IP w usłudze IoT Hubproperties.networkRuleSets.ipRules.

Pobieranie i aktualizowanie filtrów adresów IP przy użyciu programu Azure PowerShell

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Filtry adresów IP usługi IoT Hub można pobrać i ustawić za pomocą programu 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

Aktualizowanie reguł filtrowania adresów IP przy użyciu interfejsu REST

Możesz również pobrać i zmodyfikować filtr adresów IP usługi IoT Hub przy użyciu punktu końcowego REST dostawcy zasobów platformy Azure. Zobacz properties.networkRuleSets w opisie metody createorupdate.

Następne kroki

Aby dokładniej zapoznać się z możliwościami usługi IoT Hub, zobacz: