Использование частных конечных точек для веб-приложения Azure

Важно!

Частная конечная точка доступна для веб-приложений Windows и Linux в контейнерах или без, размещенных в следующих планах службы приложений: PremiumV2, PremiumV3, Functions Premium (иногда называется Elastic Premium).

Вы можете использовать закрытую конечную точку для веб-приложения Azure, чтобы разрешить клиентам, находящимся в частной сети, безопасный доступ к приложению по приватному каналу. Частная конечная точка использует IP-адрес из адресного пространства Azure VNet. Сетевой трафик между клиентом и вашей частной сетью проходит через VNet и приватный канал в магистральной сети Майкрософт, что позволяет избежать рисков общедоступного Интернета.

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

  • Защитить веб-приложение, настроив частную конечную точку, исключив публичное раскрытие.
  • Безопасное подключаться к общим папкам Azure из офисных сетей, которые подключаются к VNet через VPN или ExpressRoute с частным пирингом.
  • Избежать утечки данных из VNet.

Если вам просто требуется безопасное подключение между сетью VNet и веб-приложением, конечная точка службы — самое простое решение. Если вам также нужно подключиться к веб-приложению из локальной среды через шлюз Azure, виртуальную сеть с региональным пирингом или виртуальную сеть с глобальным пирингом, используйте частную конечную точку.

Дополнительные сведения см. в статье Конечные точки.

Общие сведения

Частная конечная точка — это специальный сетевой интерфейс (NIC) для веб-приложения Azure в подсети в вашей виртуальной сети (VNet). При создании частной конечной точки для веб-приложения обеспечивается безопасное подключение между клиентами в частной сети и веб-приложением. Частной конечной точке назначается IP-адрес из диапазона IP-адресов виртуальной сети. Соединение между частной конечной точкой и веб-приложением использует защищенный приватный канал. Частная конечная точка используется только для входящих потоков веб-приложения. Исходящие потоки не будут использовать эту частную конечную точку, но вы можете ввести исходящие потоки в сеть в другой подсети с помощью функции интеграции VNet.

Каждый слот приложения настраивается отдельно. В каждом слоте можно подключить до 100 частных конечных точек. Предоставить общий доступ к частной конечной для разных слотов нельзя.

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

Примечание

Функция интеграции с виртуальной сетью не может использовать ту же подсеть, что и частная конечная точка. Это ограничение компонента интеграции с виртуальной сетью.

С точки зрения безопасности

  • При включении частных конечных точек для доступа к приложению вы отключаете любой публичный доступ к нему.
  • В других виртуальных сетях и подсетях можно включить несколько частных конечных точек, в том числе в виртуальных сетях в других регионах.
  • IP-адрес NIC частной конечной точки должен быть динамическим, но останется прежним, пока не будет удалена частная конечная точка.
  • Сетевой карте частной конечной точки не может быть назначен NSG.
  • Подсеть, в которой размещена частная конечная точка, может иметь NSG, но необходимо отключить применение политик сети для частной конечной точки. См. раздел отключение сетевых политик для частных конечных точек. В результате вы не можете фильтровать доступ к вашей частной конечной точке по NSG.
  • При включении частной конечной точки для веб-приложения не оценивается конфигурация ограничения доступа к веб-приложению.
  • Вы можете исключить риск утечки данных из виртуальной сети, удалив все правила NSG, в которых назначение — это Интернет или службы Azure. При развертывании частной конечной точки для веб-приложения доступ к этому конкретному веб-приложению можно получить только через частную конечную точку. Если у вас есть другое веб-приложение, необходимо развернуть другую выделенную частную конечную точку для этого другого веб-приложения.

В журналах веб-протокола HTTP вашего приложения вы увидите исходный IP-адрес клиента. Эта функция реализуется с помощью протокола TCP Proxy, который пересылает свойство IP-адреса клиента в веб-приложение. Дополнительные сведения см. в разделе Получение сведений о подключении с помощью TCP Proxy v2.

Глобальный обзор частной конечной точки веб-приложения

DNS

При использовании частной конечной точки для веб-приложения запрошенный URL-адрес должен совпадать с именем вашего веб-приложения. По умолчанию mywebappname.azurewebsites.net.

По умолчанию без частной конечной точки общедоступное имя веб-приложения является каноническим именем кластера. Например, разрешение имен будет таким:

Имя Тип Значение
mywebapp.azurewebsites.net CNAME clustername.azurewebsites.windows.net
clustername.azurewebsites.windows.net CNAME cloudservicename.cloudapp.net
cloudservicename.cloudapp.net Объект 40.122.110.154

При развертывании частной конечной точки мы обновляем запись DNS, чтобы она указывала на каноническое имя mywebapp.privatelink.azurewebsites.net. Например, разрешение имен будет таким:

Имя Тип Значение Комментарий
mywebapp.azurewebsites.net CNAME mywebapp.privatelink.azurewebsites.net
mywebapp.privatelink.azurewebsites.net CNAME clustername.azurewebsites.windows.net
clustername.azurewebsites.windows.net CNAME cloudservicename.cloudapp.net
cloudservicename.cloudapp.net Объект 40.122.110.154 <— этот общедоступный IP-адрес не является частной конечной точкой, вы получите ошибку 403

Необходимо настроить частный DNS-сервер или частную зону Azure DNS. Для тестов можно изменить запись узла тестового компьютера. Необходимо создать зону DNS privatelink.azurewebsites.net. Зарегистрируйте запись для веб-приложения, используя запись A и IP-адрес частной конечной точки. Например, разрешение имен будет таким:

Имя Тип Значение Комментарий
mywebapp.azurewebsites.net CNAME mywebapp.privatelink.azurewebsites.net <— Azure создает эту запись в общедоступном DNS-сервере Azure, чтобы указать службе приложений на частную ссылку, ее управлением занимаемся мы
mywebapp.privatelink.azurewebsites.net Объект 10.10.10.8 <— вы управляете этой записью в системе DNS, чтобы указать IP-адрес частной конечной точки

После создания этой конфигурации DNS можно получить доступ к веб-приложению в частном порядке с именем по умолчанию mywebappname.azurewebsites.net. Необходимо использовать это имя, так как сертификат по умолчанию выпускается для *.azurewebsites.net.

Если необходимо использовать настраиваемое DNS-имя, необходимо добавить пользовательское имя в веб-приложение. Пользовательское имя должно проверяться как любое пользовательское имя, используя разрешение общедоступного DNS. Дополнительные сведения см. в разделе валидация пользовательского DNS.

В консоли KUDU или KUDU REST API (например, развертывание с помощью саморазмещаемых агентов Azure DevOps), необходимо создать две записи в частной зоне Azure DNS или пользовательском DNS-сервере.

Имя Тип Значение
mywebapp.privatelink.azurewebsites.net Объект PrivateEndpointIP
mywebapp.scm.privatelink.azurewebsites.net Объект PrivateEndpointIP

Цены

Дополнительные сведения о ценах см. на странице цен на службу "Приватный канал" Azure.

Ограничения

При использовании функции Azure в плане приложений-функций эластичной базы данных (цен. категория "Премиум") с частной конечной точкой для запуска или выполнения функции на веб-портале Azure необходимо иметь прямой доступ к сети, иначе возникнет ошибка HTTP 403. Иными словами, браузер должен иметь доступ к частной конечной точке для выполнения функции с веб-портала Azure.

К конкретному веб-приложению можно подключить до 100 частных конечных точек.

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

Доступ по FTP предоставляется через входящий общедоступный IP-адрес. Частная конечная точка не поддерживает доступ по FTP к веб-приложению.

Мы регулярно улучшаем функцию приватного канала и частной конечной точки. Дополнительные сведения об ограничениях см. в этой статье.

Дальнейшие действия