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

Важно!

Частная конечная точка доступна для веб-приложений Windows и Linux в контейнерах или без, размещенных в следующих планах службы приложений: Базовый, Стандартный, Премиум V2, Премиум V3, Изолированный V2, Премиум для Функций (иногда называется планом "Гибкий премиум").

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

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

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

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

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

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

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

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

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

Примечание

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

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

  • По умолчанию при включении частных конечных точек для доступа к приложению вы отключаете любой публичный доступ к нему.
  • Вы можете включить несколько частных конечных точек в других виртуальных сетях и подсетях, в том числе в виртуальных сетях в других регионах.
  • Конфигурация ограничений доступа для веб-приложения не применяется к трафику, поступающему через частную конечную точку.
  • Вы можете исключить риск утечки данных из виртуальной сети, удалив все правила групп безопасности сети, в которых назначением является Интернет или службы 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-сервере, указывающие на IP-адрес частной конечной точки. Первый — для веб-приложения, второй — для SCM веб-приложения.

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

Особые рекомендации для среды службы приложений версии 3

Чтобы включить частную конечную точку для приложений, размещенных в плане IsolatedV2 (среда службы приложений версии 3), необходимо включить поддержку частных конечных точек на уровне среды службы приложений. Эту функцию можно активировать на портале Azure в области настройки среды службы приложений или с помощью следующего интерфейса командной строки:

az appservice ase update --name myasename --allow-new-private-endpoint-connections true

Особые требования

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

Цены

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

Ограничения

  • При использовании функции Azure в плане приложений-функций эластичной базы данных (цен. категория «Премиум») с частной конечной точкой для запуска или выполнения функции на веб-портале Azure необходимо иметь прямой доступ к сети, иначе возникнет ошибка HTTP 403. Иными словами, браузер должен иметь доступ к частной конечной точке для выполнения функции с веб-портала Azure.
  • К конкретному веб-приложению можно подключить до 100 частных конечных точек.
  • Функция удаленной отладки недоступна, если для веб-приложения включена частная конечная точка. Рекомендуется развернуть код в слоте и выполнить удаленную отладку.
  • Доступ по FTP предоставляется через входящий общедоступный IP-адрес. Частная конечная точка не поддерживает доступ по FTP к веб-приложению.
  • IP-Based SSL не поддерживается для частных конечных точек.

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

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