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


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

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

При использовании частной конечной точки для приложения можно:

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

Внимание

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

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

Частная конечная точка — это сетевой интерфейс для приложения службы приложений в подсети в виртуальной сети.

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

Каждый слот приложения настраивается отдельно. Для каждого слота можно использовать до 100 частных конечных точек. Вы не можете делиться частной конечной точкой между слотами. Название слота subresource — это sites-<slot-name>.

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

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

Примечание.

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

Вопросы безопасности

Частные конечные точки и общедоступный доступ могут сосуществовать в приложении. Дополнительные сведения см. в этом обзоре ограничений доступа.

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

Правила ограничения доступа вашего приложения не применяются для трафика через частную конечную точку. Вы можете исключить риск кражи данных из виртуальной сети. Удалите все правила группы безопасности сети (NSG), у которых адресатом является интернет или услуги Azure.

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

Схема, показывающая общий обзор частных конечных точек Службы приложений.

DNS (Система доменных имён)

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

Имя. Тип Значение
mywebapp.azurewebsites.net CNAME clustername.azurewebsites.windows.net
clustername.azurewebsites.windows.net CNAME cloudservicename.cloudapp.net
cloudservicename.cloudapp.net A 192.0.2.13

При развертывании частной конечной точки подход обновляет запись системы доменных имен (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 A 192.0.2.13 <--Этот общедоступный IP-адрес не является вашей частной конечной точкой. Вы получите ошибку 403.

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

Например, разрешение имен:

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

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

Имя личного домена

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

В пользовательской зоне DNS необходимо обновить запись DNS, чтобы указать частную конечную точку. Если приложение уже настроено с разрешением DNS для имени узла по умолчанию, предпочтительный способ — добавить CNAME запись для пользовательского домена, которая указывает на mywebapp.azurewebsites.net. Если вы хотите, чтобы только пользовательское доменное имя привязывалось к частной конечной точке, можно добавить A запись с IP-адресом частной конечной точки напрямую.

Конечная точка Kudu/scm

Для консоли Kudu или REST API Kudu (для развертывания с помощью локальных агентов Azure DevOps Services) необходимо создать вторую запись, указывающую на IP-адрес частной конечной точки в частной зоне Azure DNS или пользовательском DNS-сервере. Первый — для вашего приложения, а второй — для системы управления исходным кодом (SCM) вашего приложения. При использовании групп частной зоны DNS Azure конечная точка scm автоматически добавляется.

Имя. Тип Значение
mywebapp.privatelink.azurewebsites.net A PrivateEndpointIP
mywebapp.scm.privatelink.azurewebsites.net A PrivateEndpointIP

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

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

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

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

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

Цены

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

Ограничения

  • При использовании функции Azure в плане Elastic Premium с частной конечной точкой необходимо иметь прямой сетевой доступ для запуска функции на портале Azure. В противном случае вы получите ошибку HTTP 403. Браузер должен иметь доступ к частной конечной точке, чтобы запустить функцию из портала Azure.
  • Вы можете подключить до 100 частных конечных точек к конкретному приложению.
  • Функции удаленной отладки недоступны через частную конечную точку. Рекомендуется развернуть код в слоте и выполнить удаленную отладку.
  • Доступ по FTP предоставляется через входящий общедоступный IP-адрес. Частная конечная точка не поддерживает доступ ftp к приложению.
  • TLS на основе IP-адресов не поддерживается с частными конечными точками.
  • Приложения, настроенные с частными конечными точками, не могут получать общедоступный трафик, поступающий из подсетей с включенной конечной Microsoft.Web точкой службы, и не может использовать правила ограничения доступа на основе конечной точки службы.
  • Именование частной конечной точки должно соответствовать правилам, определенным для ресурсов типа Microsoft.Network/privateEndpoints. Дополнительные сведения см. в разделе "Правила именования" и ограничения.

Сведения об ограничениях up-to-date см. в этой документации.