Использование фильтрации подключений по протоколу 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-адресов в экземпляре DPS, пользователь получает сообщение об ошибке с кодом состояния 401 (Не авторизовано) и описанием. В ответном сообщении не указывается правило фильтрации IP-адресов.
Важно!
Отклонение IP-адресов может препятствовать взаимодействию других служб Azure с экземпляром DPS.
Значение по умолчанию
По умолчанию фильтрация IP-адресов отключена, а доступ к общедоступной сети имеет значение "Все сети". Этот параметр по умолчанию означает, что DPS принимает подключения из любого IP-адреса или соответствует правилу, которое принимает диапазон IP-адресов 0.0.0.0/0.
Добавление правила фильтрации IP-адресов
Чтобы добавить правило фильтрации IP-адресов, выполните приведенные действия.
Переход на портал Azure.
В меню слева на портале нажмите Все ресурсы.
Выберите службу Подготовки устройств.
В меню Параметры слева выберите "Сеть".
В разделе "Доступ к общедоступной сети" выберите выбранные диапазоны IP-адресов
Выберите и добавьте правило фильтра IP-адресов.
Заполните следующие поля:
Поле Описание: Имя Уникальная буквенно-цифровая строка до 128 символов. Допускаются только 7-разрядные буквы и цифры ASCII, а также {'-', ':', '/', '\', '.', '+', '%', '_', '#', '*', '?', '!', '(', ')', ',', '=', '@', ';', '''}
.Диапазон адресов Один IPv4-адрес или блок IP-адресов в нотации CIDR. Например, в нотации CIDR 192.168.100.0/22 обозначает диапазон из 1024 IPv4-адресов от 192.168.100.0 до 192.168.103.255. Действие Выберите "Разрешить" или "Блокировать". Выберите Сохранить. Вы увидите оповещение, уведомляющее вас о том, что обновление выполняется.
Примечание.
+ Добавление правила фильтра IP-адресов отключено при достижении максимум 100 правил IP-фильтров.
Изменение правила ФИЛЬТРАЦИИ IP-адресов
Изменение существующего правила:
Выберите данные правила фильтра IP, которые нужно изменить.
Внесите изменения.
Выберите Сохранить.
Удаление правила фильтрации IP-адресов
Чтобы удалить правило фильтрации IP-адресов, выполните приведенные действия.
Щелкните значок удаления в строке правила IP, которое вы хотите удалить.
Выберите Сохранить.
Оценка правила фильтрации IP-адресов
Правила фильтрации IP-адресов применяются в порядке. Первое правило, соответствующее IP-адресу, определяет действие принятия или отклонения.
Например, если вы хотите, чтобы адреса в диапазоне 192.168.100.0/22 принимались, а все остальные отклонялись, то первым правилом в списке должно быть именно правило о приеме трафика из диапазона адресов 192.168.100.0/22. Следующим должно быть правило об отклонении всех адресов; для этого используется диапазон 0.0.0.0/0.
Чтобы изменить порядок правил фильтрации IP-адресов, выполните следующие действия.
Выберите правило, которое нужно переместить.
Перетащите правило в нужное расположение.
Выберите Сохранить.
Обновление правил фильтрации IP-адресов с помощью шаблонов Azure Resource Manager
Существует два способа обновления IP-фильтра DPS:
Вызовите метод REST API ресурсов Центр Интернета вещей. Чтобы узнать, как обновить правила фильтрации IP-адресов с помощью REST, см
IpFilterRule
. в разделе "Определения" метода "Ресурс Центра Iot Hub — обновление".Используйте шаблоны Azure Resource Manager. Инструкции по использованию шаблонов Resource Manager см . в шаблонах Azure Resource Manager. В следующих примерах показано, как создавать, изменять и удалять правила фильтрации 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-адресов для шаблона в соответствии со своими требованиями.
Атрибут | Description |
---|---|
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 см. в следующих статьях: