Korzystanie z filtrów połączeń IP usługi Azure IoT DPS
Bezpieczeństwo jest ważnym aspektem każdego rozwiązania IoT. Czasami trzeba jawnie określić adresy IP, z których urządzenia mogą łączyć się w ramach konfiguracji zabezpieczeń. Funkcja filtru adresów IP dla usługi Azure IoT Hub Device Provisioning Service (DPS) umożliwia konfigurowanie reguł dotyczących odrzucania lub akceptowania ruchu z określonych adresów IPv4.
Kiedy używać
Istnieją dwa konkretne przypadki użycia, w których warto zablokować połączenia z punktem końcowym usługi DPS z określonych adresów IP:
Usługa DPS powinna odbierać ruch tylko z określonego zakresu adresów IP i odrzucać każdy inny ruch. Na przykład używasz usługi DPS z usługą Azure Express Route do tworzenia połączeń prywatnych między wystąpieniem usługi DPS a urządzeniami.
Należy odrzucić ruch z adresów IP, które zostały zidentyfikowane jako podejrzane przez administratora usługi DPS.
Ograniczenia reguł filtrowania adresów IP
Zwróć uwagę na następujące ograniczenia, jeśli włączono filtrowanie adresów IP:
Do zarządzania rejestracjami może nie być możliwe użycie witryny Azure Portal. W takim przypadku można dodać adres IP co najmniej jednej maszyny do
ipFilterRules
wystąpień usługi DPS i zarządzać nimi z tych maszyn za pomocą interfejsu wiersza polecenia platformy Azure, programu PowerShell lub interfejsów API usługi.Ten scenariusz najprawdopodobniej występuje, gdy chcesz użyć filtrowania adresów IP, aby zezwolić na dostęp tylko do wybranych adresów IP. W takim przypadku skonfigurujesz reguły, aby włączyć określone adresy lub zakresy adresów oraz regułę domyślną, która blokuje wszystkie inne adresy (0.0.0.0/0). Ta domyślna reguła uniemożliwi witrynie Azure Portal wykonywanie operacji, takich jak zarządzanie rejestracjami w wystąpieniu usługi DPS. Aby uzyskać więcej informacji, zobacz Ocena reguły filtrowania adresów IP w dalszej części tego artykułu.
Jak są stosowane reguły filtrowania
Reguły filtrów adresów IP są stosowane na poziomie wystąpienia usługi DPS. W związku z tym reguły filtrów adresów IP są stosowane do wszystkich połączeń z urządzeń i aplikacji zaplecza przy użyciu dowolnego obsługiwanego protokołu.
Wszystkie próby połączenia z adresu IP, który pasuje do reguły odrzucającej adresy IP w wystąpieniu usługi DPS, otrzymują nieautoryzowany kod stanu 401 i opis. Komunikat odpowiedzi nie zawiera reguły adresu IP.
Ważne
Odrzucenie adresów IP może uniemożliwić innym usługom platformy Azure współdziałanie z wystąpieniem usługi DPS.
Ustawienie domyślne
Domyślnie filtrowanie adresów IP jest wyłączone, a dostęp do sieci publicznej jest ustawiony na Wszystkie sieci. To ustawienie domyślne oznacza, że usługa DPS akceptuje połączenia z dowolnego adresu IP lub jest zgodna z regułą, która akceptuje zakres adresów IP 0.0.0.0/0.
Dodawanie reguły filtrowania adresów IP
Aby dodać regułę filtru adresów IP:
Przejdź do portalu Azure Portal.
W menu po lewej stronie lub na stronie portalu wybierz pozycję Wszystkie zasoby.
Wybierz usługę Device Provisioning Service.
W menu Ustawienia po lewej stronie wybierz pozycję Sieć.
W obszarze Dostęp do sieci publicznej wybierz pozycję Wybrane zakresy adresów IP
Wybierz pozycję + Dodaj regułę filtru ADRESÓW IP.
Wypełnij następujące pola:
Pole Opis Nazwa/nazwisko Unikatowy, bez uwzględniania wielkości liter ciąg alfanumeryczny o długości do 128 znaków. Akceptowane są tylko 7-bitowe znaki alfanumeryczne ASCII i {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''}
.Zakres adresów 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. Akcja Wybierz pozycję Zezwalaj lub Blokuj. Wybierz pozycję Zapisz. Powinien zostać wyświetlony alert z powiadomieniem o tym, że aktualizacja jest w toku.
Uwaga
+ Dodaj regułę filtru adresów IP jest wyłączona, gdy osiągniesz maksymalnie 100 reguł filtrowania adresów IP.
Edytowanie reguły filtru adresów IP
Aby edytować istniejącą regułę:
Wybierz dane reguły filtrowania adresów IP, które chcesz zmienić.
Wprowadź zmianę.
Wybierz pozycję Zapisz.
Usuwanie reguły filtrowania adresów IP
Aby usunąć regułę filtrowania adresów IP:
Wybierz ikonę usuwania w wierszu reguły adresu IP, którą chcesz usunąć.
Wybierz pozycję Zapisz.
Ocena reguły filtrowania adresów IP
Reguły filtrowania adresów IP są stosowane w kolejności. Pierwsza reguła zgodna z adresem IP określa akcję akceptowania lub odrzucania.
Jeśli na przykład chcesz akceptować adresy w zakresie 192.168.100.0/22 i odrzucać wszystkie inne, pierwsza reguła w siatce powinna akceptować zakres adresów 192.168.100.0/22. Kolejna reguła powinna odrzucać wszystkie adresy przy użyciu zakresu 0.0.0.0/0.
Aby zmienić kolejność reguł filtrowania adresów IP:
Wybierz regułę, którą chcesz przenieść.
Przeciągnij i upuść regułę do żądanej lokalizacji.
Wybierz pozycję Zapisz.
Aktualizowanie reguł filtrowania adresów IP przy użyciu szablonów usługi Azure Resource Manager
Istnieją dwa sposoby aktualizowania filtru adresów IP usługi DPS:
Wywołaj metodę interfejsu API REST zasobów usługi IoT Hub. Aby dowiedzieć się, jak zaktualizować reguły filtrowania adresów IP przy użyciu interfejsu REST, zobacz
IpFilterRule
sekcję Definicje metody Iot Hub Resource - Update.Użyj szablonów usługi Azure Resource Manager. Aby uzyskać wskazówki dotyczące korzystania z szablonów usługi Resource Manager, zobacz Szablony usługi Azure Resource Manager. W poniższych przykładach pokazano, jak tworzyć, edytować i usuwać reguły filtrowania adresów IP usługi DPS przy użyciu szablonów usługi Azure Resource Manager.
Uwaga
Interfejs wiersza polecenia platformy Azure i program Azure PowerShell nie obsługują obecnie aktualizacji reguł filtrowania adresów IP usługi DPS.
Dodawanie reguły filtrowania adresów IP
Poniższy przykładowy szablon umożliwia utworzenie nowej reguły filtrowania adresów IP o nazwie „AllowAll”, która akceptuje cały ruch.
{
"$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"
}
]
}
}
]
}
Zaktualizuj atrybuty reguły filtrowania adresów IP szablonu zgodnie z Twoimi wymaganiami.
Atrybut | opis |
---|---|
FilterName | Podaj nazwę reguły filtrowania adresów IP. Nazwa musi być unikatowym, alfanumerycznym ciągiem z rozróżnianą wielkością liter o długości do 128 znaków. Akceptowane są tylko 7-bitowe znaki alfanumeryczne ASCII i {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''} . |
Akcja | Zaakceptowane wartości to Akceptuj lub Odrzuć jako akcję reguły filtru adresów IP. |
ipMask | 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. |
Aktualizowanie reguły filtrowania adresów IP
Poniższy przykładowy szablon aktualizuje pokazaną wcześniej regułę filtrowania adresów IP o nazwie „AllowAll”, aby odrzucić cały ruch.
{
"$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"
}
]
}
}
]
}
Usuwanie reguły filtrowania adresów IP
Poniższy przykładowy szablon usuwa wszystkie reguły filtrowania adresów IP dla wystąpienia usługi 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": {
}
}
]
}
Następne kroki
Aby dowiedzieć się więcej na temat zarządzania usługą DPS, zobacz: