Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Как и большинство решений Azure платформы как услуги (PaaS), Azure веб-приложения и приложения-функции по умолчанию доступны по всему Интернету. Входящий трафик можно ограничить Azure веб-приложениями и приложениями-функциями с помощью частных конечных точек.
Частные конечные точки предоставляют клиентам в частной сети безопасный доступ к приложению через Azure Private Link. Частные конечные точки используют IP-адреса из адресного пространства виртуальной сети Azure. Сетевой трафик между клиентом и приложением проходит по виртуальной сети и Private Link на магистральном Microsoft, что устраняет воздействие на общедоступный Интернет. Частные конечные точки также поддерживают прямой, межтенантный доступ. Безопасное подключение может выполняться из виртуальной сети потребителя в одном арендаторе к конкретному веб-приложению или приложению-функции в другом арендаторе, поэтому не требуется прокладка VPN соединений между сайтами или пиринг виртуальных сетей.
В этом руководстве представлена архитектура, использующая частную конечную точку. Частная конечная точка безопасно предоставляет веб-приложение Azure в одном клиенте клиенту, который использует веб-приложение в другом клиенте Azure. Этот подход также можно использовать для приложения-функции Azure, если у вас есть план "Премиум" или "Служба приложений" для Azure Functions.
Architecture
Скачайте файл Visio этой архитектуры.
Поток данных
Следующий поток данных соответствует предыдущей схеме:
Пользователь или служба на виртуальной машине отправляет запрос системы доменных имен (DNS) для веб-приложения Azure по адресу
webapp.azurewebsites.net. Веб-приложение выполняется в клиенте поставщика.Общедоступная служба DNS Azure обрабатывает запрос
webapp.azurewebsites.net. Ответ — это запись канонического имени (CNAME).webapp.privatelink.azurewebsites.netЧастная зона Azure DNS обрабатывает ЗАПРОС DNS для
webapp.privatelink.azurewebsites.net.Ответ — это запись A с IP-адресом частной конечной точки.
Виртуальная машина выдает HTTPS-запрос веб-приложению через IP-адрес частной конечной точки.
Веб-приложение обрабатывает запрос и отвечает на виртуальную машину.
Если у пользователя или службы нет доступа к частной зоне DNS, Azure общедоступная служба DNS разрешает DNS-запрос
webapp.privatelink.azurewebsites.net, возвращая общедоступный IP-адрес. HTTPS-запросы к такому общедоступному IP-адресу получают ответ 403 Запрещено .
Components
App Service и ее Web Apps предоставляют управляемую платформу для создания, развертывания и масштабирования web apps. В этой архитектуре компонент Web Apps размещает веб-приложение в клиенте поставщика. Частные конечные точки ограничивают общедоступный доступ к веб-приложению.
Функции — это бессерверная служба вычислений на основе событий. В этой архитектуре Функции могут служить альтернативой Web Apps. Частные конечные точки также защищают функции, чтобы обеспечить закрытый доступ между клиентами.
Azure Virtual Network — это базовый сетевой уровень в Azure, который упрощает безопасное взаимодействие между ресурсами Azure, Интернетом и локальными сетями. В этой архитектуре виртуальные сети размещают частные конечные точки и зоны DNS, что упрощает безопасное подключение между поставщиками и клиентами-потребителями.
Private Link упрощает безопасное частное подключение между службами Azure и виртуальными сетями путем сопоставления конечных точек службы с частными IP-адресами в виртуальной сети. Вы можете использовать частную конечную точку для подключения к Azure службам PaaS, службам клиентов или партнерским службам. В этой архитектуре Private Link безопасно предоставляет веб-приложение или приложение-функцию другому клиенту без обхода общедоступного Интернета.
Azure DNS — это масштабируемая служба размещения DNS, использующая инфраструктуру Azure для разрешения имен. Частная служба Azure DNS управляет и разрешает доменные имена в виртуальной сети и в подключенных виртуальных сетях. Для этой службы не требуется настройка пользовательского решения DNS. В этой архитектуре Azure DNS обрабатывает общедоступные DNS-запросы и интегрируется с частными зонами DNS для разрешения адресов частных конечных точек.
Частные зоны Azure DNS обеспечивают разрешение DNS в виртуальных сетях без предоставления записей общедоступному интернету. В этой архитектуре частные зоны DNS управляют внутренним разрешением имен для частных конечных точек, что обеспечивает безопасную и точную маршрутизацию внутри и между клиентами.
Azure Virtual Machines предоставляет масштабируемые вычислительные ресурсы для запуска приложений и служб. В этой архитектуре виртуальная машина в клиенте-получателе инициирует ЗАПРОСы DNS и HTTPS к веб-приложению поставщика через частную конечную точку.
Настройка поставщика
В клиенте поставщика используйте частную конечную точку для защиты веб-приложения и ограничения доступа из общедоступного Интернета.
Подготовьте виртуальную сеть и подсеть для сетевого интерфейса частной конечной точки.
Сетевой адаптер использует один IP-адрес из подсети. Определите стратегию DNS, чтобы зарегистрировать A-запись сетевой интерфейсной карты в соответствующей зоне DNS.
Создайте частную конечную точку.
Если вы используете службы Azure DNS по умолчанию, рекомендуется использовать службу частной зоны Azure DNS и использовать автоматическую интеграцию при создании частной конечной точки. Такой подход гарантирует следующее:
Частная зона
privatelink.azurewebsites.netDNS создается автоматически при необходимости.Зона DNS подключена к виртуальной сети через сетевой интерфейс частной конечной точки.
Запись A регистрируется и управляется автоматически в частной зоне DNS.
Если вы не используете службы по умолчанию Azure DNS, необходимо настроить и управлять собственными DNS-серверами и зонами:
privatelink.azurewebsites.netСоздайте зону DNS.Убедитесь, что
privatelink.azurewebsites.netможно разрешить в виртуальных сетях, которые разрешают сетевой адаптер частной конечной точки.Зарегистрируйте запись A в
privatelink.azurewebsites.netзоне DNS с IP-адресом частной конечной точки. Возможно, вам потребуется настроить DNS-пересылатель для разрешения общедоступной зоны Azure DNSazurewebsites.net.
Дополнительные сведения см. в разделе конфигурация DNS для частной конечной точки в Azure.
Оцените, требует ли используемая вами услуга дополнительных мер управления доступом для блокировки публичного доступа.
Все службы Azure реализуют собственное поведение общедоступного доступа. Если вы не завершите дополнительные настройки, некоторые службы Azure остаются общедоступными даже после связывания их с частной конечной точкой. Веб-приложения и приложения-функции становятся недоступными публично, когда они связаны с частной конечной точкой, а параметр общедоступного доступа отключен.
Во время создания частной конечной точки общедоступная зона Azure DNS azurewebsites.net автоматически обновляется с помощью записи CNAME, указывающей на частную зону DNS. Пользователи могут попытаться получить доступ к веб-приложению из источников, которые не могут разрешить частную зону DNS, чтобы извлечь фактическую запись A и её внутренний IP-адрес. Эти пользователи получают общедоступный разрешаемый IP-адрес, но ответ — 403 Запрещено.
Поставщик может настроить имя личного домена для веб-приложения с помощью записи CNAME, которая ссылается на запись в общедоступной зоне azurewebsites.net. Запись CNAME, созданная для этого персонального домена, не должна указывать на запись privatelink.azurewebsites.net.
Настройка потребителя
В клиенте-получателе настройте клиент для доступа к Azure веб-приложению поставщика. Поставщик должен вручную утвердить подключение.
Шаг 1 (потребитель): создание частной конечной точки
Создайте ресурс частной конечной точки в клиенте потребителя. Как и в случае с клиентом поставщика, необходимо подготовить виртуальную сеть и подсеть, где развертывается сетевая карта частной конечной точки. Этот шаг использует один IP-адрес из подсети. В диапазоне частных IP-адресов виртуальной сети нет ограничений. Диапазоны IP-адресов в поставщиках и клиентах-потребителей могут перекрываться.
Потребитель не владеет целевым ресурсом, поэтому используйте полный идентификатор ресурса веб-приложения в клиенте поставщика. Идентификатор ресурса содержит идентификатор подписки поставщика, имя группы ресурсов и имя ресурса веб-приложения. Мы рекомендуем поставщику безопасно предоставлять эти сведения потребителю. Псевдоним нельзя использовать.
Некоторые ресурсы Azure имеют несколько подресурсов. Например, ресурс Azure Storage имеет blob, table, queue, file, web и dfs подресурсов. Поставщик также должен предоставить сведения о подресурсах. Веб-приложения и приложения-функции имеют только один подресурс, сайты. Дополнительные сведения о подресурсах частной конечной точки и их значениях смотрите в ресурсе Private-link. Так как подключение к частной конечной точке не утверждено автоматически, потребитель может ввести сообщение для чтения поставщиком.
Невозможно автоматизировать настройку интеграции зоны DNS. Потребитель должен вручную настроить записи DNS.
После создания ресурса частной конечной точки состояние подключения в ожидании. Подключение остается в этом неиспользуемом состоянии, пока поставщик не утвердит запрос.
Шаг 2 (поставщик): проверка и утверждение запроса на подключение
Потребитель должен уведомить поставщика о запросе на подключение частной конечной точки.
Поставщик может получать, проверять и отклонять ожидающие запросы на портале Azure в следующих местах:
- На странице Private Link Center. Утверждающий может ввести на этой странице сообщение об утверждении.
- В разделе "Сеть " в веб-приложении. Выберите частные конечные точки.
Кроме того, поставщик может использовать Azure CLI или Azure PowerShell для получения, проверки и утверждения или отклонения ожидающих запросов.
Поставщик может просмотреть следующее:
- Сообщение, которое потребитель добавил после того, как создал частную конечную точку.
- Имя частной конечной точки.
- Идентификатор клиента, имя группы ресурсов и имя ресурса частной конечной точки в Azure CLI или Azure PowerShell.
Портал Azure создает гиперссылку на частную конечную точку потребителя. Так как потребитель находится в другом арендаторе, поставщик обычно не может получить доступ к гиперссылке.
Не удается автоматизировать утверждения подключения к частной конечной точке. Однако можно использовать свойство autoapproval в Private Link для предварительного утверждения набора подписок для получения автоматического доступа к службе.
Шаг 3 (потребитель): настройка DNS
Вы можете выполнить действия, описанные в этом разделе, сразу после создания ресурса частной конечной точки на шаге 1. Однако рекомендуется ждать, пока поставщик не утвердит подключение.
Потребитель должен настроить и сконфигурировать частную зону DNS для обеспечения возможности клиентским системам находить NIC (сетевую карту) частной конечной точки. Как и у поставщика, стратегия DNS в клиенте определяет необходимые действия.
Если потребитель использует службы Azure DNS по умолчанию, рекомендуется использовать службу Azure DNS частной зоны. При необходимости потребитель может создать частную зону DNS и связать ее с виртуальной сетью, содержащей сетевую карту
privatelink.azurewebsites.netчастной конечной точки. Автоматическая регистрация не требуется для этой зоны DNS. Затем потребитель должен добавить новую конфигурацию DNS:- На портале Azure найдите и выберите частную конечную точку.
- Откройте конфигурацию DNS.
- Выберите частную зону DNS и укажите имя подключения, чтобы добавить новую конфигурацию DNS.
Эти действия создают запись A в частной зоне DNS. Полное доменное имя (FQDN) заполняется автоматически при утверждении подключения.
Если потребитель управляет собственными зонами DNS, потребитель должен настроить свою среду.
Если поставщик создает имя личного домена, потребитель может получить доступ к веб-приложению с помощью этого имени.
В этой архитектуре виртуальная машина потребителя использует частную конечную точку для доступа к веб-приложению. Для доступа требуется утверждение поставщика подключения и правильная конфигурация DNS.
Управление подключениями
Поставщик и потребитель могут управлять подключением частной конечной точки после его создания и утверждения.
Потребитель может самостоятельно удалить подключение через ресурс частной конечной точки, страницу Private Link Center, Azure CLI или Azure PowerShell.
Поставщик может удалить подключения к службе в Azure CLI, Azure PowerShell или в Networking в веб-приложении. После удаления частной конечной точки доступ потребителя к службе блокируется. Потребитель видит, что подключение на частной конечной точке имеет состояние "Отключено " и что запись DNS удаляется из частной зоны DNS. Клиент должен вручную удалить ресурс частной конечной точки.
Вы не можете временно приостановить или отключить подключение. После удаления подключения потребителю или поставщику необходимо создать новую частную конечную точку для восстановления подключения.
Оптимизация затрат
В отличие от ограничений доступа, которые являются бесплатными, частные конечные точки приходят с фиксированными и переменными затратами как для поставщика, так и для потребителя.
Фиксированные затраты:
- Длительность частной конечной точки
- Количество зон DNS
Переменные затраты:
- Объем данных, обработанных на частной конечной точке
- Плата за пропускную способность при развертывании веб-приложения и частной конечной точки в разных регионах
- Количество запросов DNS
Виртуальные машины не включены в этот обзор цен, так как они не являются абсолютным требованием для архитектуры.
Прочие рекомендации
Поставщик должен предоставить общий доступ к идентификатору подписки, имени группы ресурсов и имени ресурса веб-приложения потребителю. Потребитель делится с поставщиком идентификатором подписки, именем группы ресурсов и именем ресурса частной конечной точки.
Количество частных конечных точек, которые можно создать в подписке, ограничено. Это ограничение обычно не является проблемой, так как потребители создают конечные точки в своих собственных подписках, а не поставщика. Дополнительные сведения см. в разделе ограничения, квоты и ограничения подписки и службы Azure.
Подписка, содержащая ресурс Private Link, должна быть зарегистрирована в поставщике сетевых ресурсов Microsoft. Подписка, содержащая частную конечную точку, также должна быть зарегистрирована в поставщике сетевых ресурсов Microsoft. Для получения дополнительной информации см. поставщики ресурсов и типы Azure.
Если у вас возникли проблемы с подключением, ознакомьтесь с разделом Устранение неполадок подключения к частной конечной точке Azure. В частности, проверьте конфигурацию DNS.
Развертывание этого сценария
Чтобы развернуть эту архитектуру, используйте шаблоны Bicep в Project Cross-Tenant Secure Access to Web Apps and Functions by Using Private Endpoints.
Другие решения
Ограничения доступа предоставляют альтернативу частным конечным точкам. Внутренний брандмауэр ресурса можно настроить с помощью ограничений доступа для определения правил разрешения и запрета. Вы можете использовать ограничения на IPv4 или IPv6-адреса, теги службы или конечные точки службы. Конечные точки службы разрешают трафик только из выбранных подсетей и виртуальных сетей. Ограничения доступа бесплатны во всех планах Azure App Service и Azure Functions. Тем не менее, сложно поддерживать правила, а клиенты, не Microsoft, требуют перечисленных IP-адресов, которые могут быть динамическими или конфиденциальными.
Для некоторых ресурсов PaaS, таких как учетные записи Azure Storage, Azure Key Vault и Azure Event Hubs, можно использовать периметр безопасности сети для ограничения входящего трафика. Периметр безопасности сети определяет логическую границу безопасности вокруг определенных Azure ресурсов PaaS, которые не развертываются в виртуальной сети. Вы можете контролировать, кто и что может взаимодействовать с ресурсами. Периметр безопасности сети можно использовать в сочетании с частными конечными точками.
Соавторы
Microsoft поддерживает эту статью. Следующие авторы написали эту статью.
Основной автор:
- Robbie De Sutter | Архитектор решений цифрового облака
Другой участник:
- Раджкумар (Радж) Балакришнан | Архитектор решений цифрового облака
Чтобы просмотреть закрытые профили в LinkedIn, войдите в свою учетную запись LinkedIn.
Дальнейшие действия
- Конфигурация DNS для частной конечной точки Azure
- Azure разрешения управления доступом на основе ролей (Azure RBAC) для Private Link
- Параметры сети функций
- Ограничьте подключения к частным конечным точкам между арендаторами в Azure
- Управление приватными конечными точками Azure
- Периметры безопасности сети
- Ограничьте использование вашей учетной записи хранения в виртуальной сети для функций
- Настройка ограничений доступа к службе приложений
- Использование частных конечных точек для приложений службы App Service
- Что собой представляет частная конечная точка?