Поделиться через


Используйте фильтры IP-подключений Azure IoT DPS

Безопасность является важным аспектом любого решения Интернета вещей. Иногда при настройке системы безопасности необходимо явно указать IP-адреса, с которых могут подключаться устройства. Функция фильтрации IP-адресов для службы подготовки устройств Центра Интернета вещей Azure (DPS) позволяет настроить правила для отклонения или приема трафика с определенных IPv4-адресов.

Когда следует использовать

Существует два конкретных варианта использования, в которых полезно блокировать подключения к конечной точке DPS из определенных IP-адресов:

  • DPS должен получать трафик только из указанного диапазона IP-адресов и отклонять все остальное. Например, вы используете DPS с Azure Express Route для создания частных подключений между экземпляром DPS и вашими устройствами.

  • Необходимо отклонить трафик от IP-адресов, которые определяются как подозрительные администратором DPS.

Ограничения правил IP-фильтра

Обратите внимание на следующие ограничения, если включена фильтрация IP-адресов:

  • Возможно, вы не сможете использовать портал Azure для управления регистрацией. В этом сценарии можно добавить IP-адрес одного или нескольких компьютеров ipFilterRules в экземпляр DPS и управлять регистрациями с этих компьютеров с помощью Azure CLI, PowerShell или API сервисов.

    Этот сценарий, скорее всего, произойдет, если вы хотите использовать фильтрацию IP-адресов, чтобы разрешить доступ только к выбранным IP-адресам. В этом случае вы настраиваете правила для включения определенных адресов или диапазонов адресов и правила по умолчанию, блокирующая все остальные адреса (0.0.0.0/0/0). Это правило по умолчанию блокирует выполнение операций портала Azure, таких как управление регистрацией в экземпляре DPS. Дополнительные сведения см. в статье об оценке правил IP-фильтров .

Применение правил фильтрации

Правила фильтрации IP-адресов применяются на уровне экземпляра DPS. Поэтому правила фильтрации IP-адресов применяются ко всем подключениям с устройств и внутренних приложений с помощью любого поддерживаемого протокола.

Любая попытка подключения с IP-адреса, который соответствует правилу отклонения IP в вашем экземпляре DPS, получает код состояния 401 неавторизованного доступа и описание. Ответное сообщение не упоминает правило IP.

Это важно

Отклонение IP-адресов может препятствовать взаимодействию других служб Azure с экземпляром DPS.

Параметр по умолчанию

По умолчанию фильтрация IP-адресов отключена, а доступ к общедоступной сети имеет значение "Все сети". Этот параметр по умолчанию означает, что DPS принимает подключения из любого IP-адреса или соответствует правилу, которое принимает диапазон IP-адресов 0.0.0.0/0.

Снимок экрана: параметры IP-фильтра по умолчанию для IoT DPS на портале Azure.

Добавление правила фильтрации IP-адресов

Чтобы добавить правило фильтрации IP-адресов, выполните приведенные действия.

  1. Перейдите на портал Azure.

  2. В меню портала или на странице портала выберите все ресурсы.

  3. Выберите экземпляр службы Device Provisioning Service.

  4. В меню службы в разделе "Параметры" выберите "Сеть".

  5. В рабочей области в разделе "Доступ к общедоступной сети" выберите выбранные диапазоны IP-адресов

  6. Выберите и добавьте правило фильтра IP-адресов.

    Снимок экрана, на котором показано, как добавить правило фильтра IP в экземпляр DPS Интернета вещей на портале Azure.

  7. Заполните следующие поля:

    Поле Описание
    Имя Уникальная буквенно-цифровая строка до 128 символов. Принимаются только 7-битные буквенно-цифровые символы ASCII, а также {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''}.
    Диапазон адресов IP-адрес IPv4 или блок IP-адресов в нотации безклассовой междоменной маршрутизации (CIDR). Например, в нотации CIDR 192.168.100.0/22 обозначает диапазон из 1024 IPv4-адресов от 192.168.100.0 до 192.168.103.255.
    Действие Выберите "Разрешить " или "Блокировать".

    Снимок экрана, на котором показано, как определить и сохранить правило фильтра IP для экземпляра IoT DPS на портале Azure.

  8. Выберите Сохранить. Вы увидите оповещение, уведомляющее вас о том, что обновление выполняется.

    Снимок экрана: уведомление, отображаемое при сохранении правила ФИЛЬТРА IP на портале Azure.

    Замечание

    + Добавление правила фильтра IP-адресов отключено при достижении максимум 100 правил IP-фильтров.

Изменение правила ФИЛЬТРАЦИИ IP-адресов

Изменение существующего правила:

  1. Выберите данные правила фильтра IP, которые нужно изменить.

    Снимок экрана, показывающий, как изменить правило фильтра IP для экземпляра IoT DPS на портале Azure.

  2. Внесите изменения.

  3. Выберите Сохранить.

Удаление правила фильтрации IP-адресов

Чтобы удалить правило фильтрации IP-адресов, выполните приведенные действия.

  1. Щелкните значок удаления в строке правила IP, которое вы хотите удалить.

    Снимок экрана, который показывает, как удалить правило фильтрации IP для экземпляра IoT DPS на портале Azure.

  2. Выберите Сохранить.

Оценка правила IP-фильтра

Правила фильтрации IP-адресов применяются в установленном порядке. Первое правило, соответствующее IP-адресу, определяет действие принятия или отклонения.

Например, если вы хотите принять адреса в диапазоне 192.168.100.0/22 и отклонить все остальное, первое правило в сетке должно принять диапазон адресов 192.168.100.0/22. Следующее правило должно отклонять все адреса с помощью диапазона 0.0.0.0/0/0.

Чтобы изменить порядок правил фильтрации IP-адресов, выполните следующие действия.

  1. Выберите правило, которое нужно переместить.

  2. Перетащите правило в нужное место.

  3. Выберите Сохранить.

Обновление правил фильтрации IP-адресов с помощью шаблонов Azure Resource Manager

Существует два способа обновления IP-фильтра DPS:

  1. Вызовите метод REST API ресурсов Центра Интернета вещей. Сведения об обновлении правил фильтрации IP-адресов с помощью REST смIpFilterRule. в разделе "Определения" ресурса Центра Интернета вещей — обновление.

  2. Используйте шаблоны Azure Resource Manager. Дополнительные сведения об использовании шаблонов Resource Manager см. в разделе "Что такое шаблоны ARM?". В следующих примерах показано, как создавать, изменять и удалять правила фильтрации IP-адресов DPS с помощью шаблонов Azure Resource Manager.

    Замечание

    Azure CLI и Azure PowerShell в настоящее время не поддерживают обновления правил фильтрации IP-адресов DPS.

Добавление правила фильтрации IP-адресов

В следующем примере шаблона создается новое правило фильтра IP-адресов с именем AllowAll, которое принимает весь трафик.

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

Обновите атрибуты правила фильтрации IP-адресов шаблона на основе ваших требований.

Свойство Описание
FilterName Укажите имя правила ФИЛЬТРАЦИИ IP-адресов. Это значение должно быть уникальным, нечувствительным к регистру, и представлено в виде буквенно-цифровой строки длиной до 128 символов. Принимаются только 7-битные буквенно-цифровые символы ASCII, а также {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''}.
Действие Допустимые значения : Accept or Reject в качестве действия для правила фильтрации IP-адресов.
Маска ipMask Укажите один IPv4-адрес или блок IP-адресов в нотации CIDR. Например, в нотации CIDR 192.168.100.0/22 обозначает диапазон из 1024 IPv4-адресов от 192.168.100.0 до 192.168.103.255.

Обновление правила IP-фильтра

В следующем примере шаблона обновляется правило фильтра IP с именем AllowAll, показанное ранее, чтобы отклонить весь трафик.

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

Удаление правила фильтрации IP-адресов

В следующем примере шаблона удаляются все правила фильтрации IP-адресов для экземпляра 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": { 
            }             
        } 
    ] 
}

Дальнейшие шаги

Дополнительные сведения об управлении DPS см. в следующих статье: