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


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

Примечание.

Начиная с 1 июня 2024 года только что созданные приложения службы приложений могут создать уникальное имя узла по умолчанию, использующее соглашение об именовании <app-name>-<random-hash>.<region>.azurewebsites.net. Например: myapp-ds27dh7271aah175.westus-01.azurewebsites.net. Существующие имена приложений остаются неизменными.

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

Внимание

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

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

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

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

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

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

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

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

Примечание.

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

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

  • Частная конечная точка и общедоступный доступ могут сосуществовать в приложении. Для получения дополнительной информации см. этот обзор ограничений доступа.
  • Чтобы обеспечить изоляцию при включении частных конечных точек в приложение, убедитесь, что доступ к общедоступной сети отключен.
  • Вы можете включить несколько частных конечных точек в других виртуальных сетях и подсетях, включая виртуальную сеть в других регионах.
  • Правила ограничений доступа приложения не применяются для трафика, проходящего через частную конечную точку.
  • Вы можете устранить риск кражи данных из виртуальной сети, удалив все правила группы безопасности сети (NSG), где назначение — интернет или службы Azure.

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

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

DNS

При использовании частной конечной точки для приложений Служба приложений запрошенный URL-адрес должен соответствовать имени приложения. По умолчанию <app-name>.azurewebsites.net. При использовании уникального имени узла по умолчанию имя приложения имеет формат <app-name>-<random-hash>.<region>.azurewebsites.net. В следующих примерах mywebapp также может представлять полное региональное уникальное имя узла.

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

Имя. Тип Значение
mywebapp.azurewebsites.net CNAME clustername.azurewebsites.windows.net
clustername.azurewebsites.windows.net CNAME cloudservicename.cloudapp.net
cloudservicename.cloudapp.net а 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 а 192.0.2.13 <--Этот общедоступный IP-адрес не является вашей частной конечной точкой, вы получите ошибку 403

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

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

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

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

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

Имя. Тип Значение
mywebapp.privatelink.azurewebsites.net а IP-адрес частной конечной точки
mywebapp.scm.privatelink.azurewebsites.net а IP-адрес частной конечной точки

Особые рекомендации для среды службы приложений версии 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. Дополнительные сведения см. в разделе Правила именования и ограничения.

Актуальные сведения об ограничениях см. в разделе "Ограничения".