Использование частных конечных точек для приложений Служба приложений
Примечание.
Начиная с 1 июня 2024 г. только что созданные Служба приложений приложения могут создать уникальное имя узла по умолчанию, использующее соглашение <app-name>-<random-hash>.<region>.azurewebsites.net
об именовании. Существующие имена приложений остаются неизменными. Например:
myapp-ds27dh7271aah175.westus-01.azurewebsites.net
Дополнительные сведения см. в разделе "Уникальное имя узла по умолчанию" для ресурса Служба приложений.
Внимание
Частные конечные точки доступны для приложений Windows и Linux, контейнерных или нет, размещенных в этих планах Служба приложений: Basic, Standard, PremiumV2, PremiumV3, IsolatedV2, Functions Premium (иногда называется планом Elastic Premium).
Для Служба приложений приложений можно использовать частную конечную точку. Частная конечная точка позволяет клиентам, расположенным в частной сети, безопасно получать доступ к приложению через Приватный канал Azure. Частная конечная точка использует IP-адрес из адресного пространства виртуальной сети Azure. Сетевой трафик между клиентом в частной сети и приложением проходит по виртуальной сети и Приватный канал в магистральной сети Майкрософт. Эта конфигурация устраняет уязвимость из общедоступного Интернета.
Использование частной конечной точки для приложения позволяет:
- Защитите приложение, настроив частную конечную точку и отключите доступ к общедоступной сети, чтобы устранить общедоступную уязвимость.
- Безопасно подключитесь к приложению из локальных сетей, которые подключаются к виртуальной сети с помощью частного пиринга 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 | Объект | 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 в плане Elastic Premium с частной конечной точкой для запуска функции в портал Azure необходимо иметь прямой сетевой доступ. В противном случае вы получите ошибку HTTP 403. Браузер должен иметь доступ к частной конечной точке, чтобы запустить функцию из портал Azure.
- Вы можете подключить до 100 частных конечных точек к конкретному приложению.
- Функции удаленной отладки недоступны через частную конечную точку. Рекомендуется развернуть код в слоте и удаленной отладке.
- Доступ по FTP предоставляется через входящий общедоступный IP-адрес. Частная конечная точка не поддерживает доступ ftp к приложению.
- TLS на основе IP-адресов не поддерживается с частными конечными точками.
- Приложения, настроенные с частными конечными точками, не могут получать общедоступный трафик, поступающий из подсетей с
Microsoft.Web
включенной конечной точкой службы, и не может использовать правила ограничения доступа на основе конечной точки службы. - Именование частных конечных точек должно соответствовать правилам, определенным для ресурсов типа
Microsoft.Network/privateEndpoints
. Дополнительные сведения см. в разделе Правила именования и ограничения.
Актуальные сведения об ограничениях см. в разделе "Ограничения".
Связанный контент
- Сведения о развертывании частной конечной точки для приложения на портале см. в статье "Как подключиться приватно к приложению с помощью портал Azure".
- Сведения о развертывании частной конечной точки для приложения с помощью Azure CLI см. в статье о том, как подключиться к приложению с помощью Azure CLI.
- Сведения о развертывании частной конечной точки для приложения с помощью PowerShell см. в статье "Как подключиться к приложению с помощью PowerShell".
- Сведения о развертывании частной конечной точки для приложения с помощью шаблона Azure см. в статье "Как подключиться к приложению с помощью шаблона Azure".
- Полный пример подключения интерфейсного приложения к защищенному внутреннему приложению с интеграцией виртуальной сети и частной конечной точкой с шаблоном ARM см. в этом кратком руководстве.
- Полный пример подключения интерфейсного приложения к защищенному внутреннему приложению с интеграцией виртуальной сети и частной конечной точкой с terraform см. в этом примере.