Настройка ограничений входящего IP-адреса в приложениях контейнеров Azure

Контейнеры приложений Azure позволяет ограничить входящий трафик в приложение-контейнер, настроив ограничения входящего трафика IP-адресов.

Существует два типа ограничений:

  • Разрешить: Разрешить входящий трафик только из диапазонов адресов, указанных в разрешающих правилах.
  • Запрет: запретить весь входящий трафик из диапазонов адресов, указанных в правилах запрета.

Если правила ограничения IP-адресов не заданы, весь входящий трафик разрешён.

Правила ограничений IP-адресов содержат следующие свойства:

Свойство Значение Описание
имя строка Название правила.
описание строка Описание правила.
ipAddressRange Диапазон IP-адресов в формате CIDR Диапазон IP-адресов в нотации CIDR.
действие Разрешить или Запретить. Действие, которое следует выполнить для правила.

Параметр ipAddressRange принимает адреса IPv4. Определите каждый блок адресов IPv4 в нотации бесклассовой междоменной маршрутизации (CIDR).

Примечание.

Все правила должны быть одинаковыми. Нельзя сочетать разрешающие и запрещающие правила.

Управление ограничениями входящего IP-трафика

Правила ограничений доступа к IP-адресам можно управлять с помощью портал Azure или Azure CLI.

Добавление правил

  1. На портале Azure перейдите к приложению контейнера.

  2. В меню слева выберите Сеть>Вход.

  3. В разделе "Ограничения IP-адресов" можно разрешить или запретить трафик из указанных диапазонов IP-адресов. В этом примере выберите разрешить трафик из IP-адресов, настроенных ниже, запретить весь остальной трафик.

  4. Чтобы создать правило, выберите Добавить.

    Снимок экрана: параметры ограничения IP-адресов на странице входящего трафика контейнерного приложения.

  5. Введите значения в следующих полях:

    Поле Описание
    IPv4-адрес или диапазон Введите IP-адрес или диапазон IP-адресов в нотации CIDR. Например, чтобы разрешить доступ с одного IP-адреса, используйте следующий формат: 10.200.10.2/32.
    Имя Введите название правила.
    Description Введите описание правила.
  6. Выберите Добавить.

  7. Повторите шаги 4-6, чтобы добавить дополнительные правила.

  8. После завершения добавления правил нажмите кнопку "Сохранить".

Обновление правила

  1. На портале Azure перейдите к приложению контейнера.
  2. В меню слева выберите Сеть>Вход.
  3. Выберите правило, которое нужно обновить.
  4. Измените параметры правила.
  5. Нажмите кнопку "Сохранить", чтобы сохранить обновления.
  6. На странице Ingress выберите Сохранить, чтобы сохранить обновлённые правила.

Удалить правило

  1. На портале Azure перейдите к приложению контейнера.
  2. В меню слева выберите Сеть>Вход.
  3. Щелкните значок удаления рядом с правилом, которое вы хотите удалить.
  4. Выберите Сохранить.

Ограничения доступа к IP-адресам можно управлять с помощью az containerapp ingress access-restriction группы команд. Эта группа команд имеет следующие параметры:

  • set: создание или обновление правила.
  • remove: Удалить правило.
  • list: вывести список всех правил.

Создание или обновление правил

С помощью az containerapp ingress access-restriction set команды можно создать или обновить ограничения IP-адресов.

Группа az containerapp ingress access-restriction set команд использует следующие параметры.

Аргумент Значения Описание
--rule-name (обязательно) Строка Указывает имя правила ограничения доступа.
--description Строка Указывает описание правила ограничения доступа.
--action (обязательно) Разрешить, запретить Указывает, следует ли разрешать или запрещать доступ из указанного диапазона IP-адресов.
--ip-address (обязательно) IP-адрес или диапазон IP-адресов в нотации CIDR Задает диапазон IP-адресов для разрешения или запрета.

Добавьте дополнительные правила, повторяя команду с другими значениями --rule-name и ---ip-address.

Создайте разрешающие правила

В следующем примере az containerapp access-restriction set команды создается правило для ограничения входящего доступа к диапазону IP-адресов. Прежде чем добавлять все правила разрешения, необходимо удалить все существующие правила запрета.

Замените значения в следующем примере собственными значениями.

az containerapp ingress access-restriction set \
   --name <CONTAINER_APP_NAME> \
   --resource-group <RESOURCE_GROUP> \
   --rule-name "my allow rule" \
   --description "example of rule allowing access" \
   --ip-address 192.168.0.1/28 \
   --action Allow

Вы можете добавить правило разрешения, повторив команду с другими значениями --ip-address и --rule-name.

Создайте запрещающие правила

В следующем примере az containerapp access-restriction set команды создается правило доступа для запрета входящего трафика из указанного диапазона IP-адресов. Перед добавлением правил запрета необходимо удалить все существующие правила разрешения.

Замените заполнители в следующем примере собственными значениями.

az containerapp ingress access-restriction set \
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --rule-name "my deny rule" \
  --description "example of rule denying access" \
  --ip-address 192.168.0.100/28 \
  --action Deny

Вы можете дополнить правила запрета, повторив команду с другими значениями --ip-address и --rule-name. Если вы используете имя правила, которое уже существует, то существующее правило обновляется.

Обновление правила

Вы можете обновить правило с помощью az containerapp ingress access-restriction set команды. Диапазон IP-адресов и описание правила можно изменить, но не имя или действие правила.

Параметр --action является обязательным, но вы не можете изменить действие с «Разрешить» на «Запретить» и наоборот. Если опустить параметр --description, описание удаляется.

В следующем примере обновляется диапазон IP-адресов.

az containerapp ingress access-restriction set \
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --rule-name "my deny rule" \
  --ip-address 192.168.0.1/24 \
  --description "example of rule denying access" \
  --action Deny

Удаление ограничений доступа

В следующем примере az containerapp ingress access-restriction remove команда удаляет правило.

az containerapp ingress access-restriction remove \
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --rule-name "<your rule name>"

Список ограничений доступа

В следующем примере az containerapp ingress access-restriction list команды перечислены правила ограничения IP-адресов для приложения контейнера.

az containerapp ingress access-restriction list \
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP>

Устранение неполадок

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

Доступ запрещен

RBAC: сообщение об отказе в доступе, возвращенное клиенту, указывает, что клиент блокируется ограничениями IP-адресов из приложения контейнера. Чтобы устранить эту проблему, убедитесь, что IP-адрес клиента, запрашивающий доступ, разрешен на основе правил разрешения или запрета .

При использовании диапазона адресов убедитесь, что заблокированный IP-адрес попадает в допустимый диапазон.

Следующий шаг