Приватный канал Azure for Azure Synapse Analytics

Tip

Microsoft Fabric Data Warehouse — это реляционное хранилище корпоративного масштаба на основе озера данных, с архитектурой, готовой к будущему, встроенным ИИ и новыми функциями. Если вы не знакомы с хранилищем данных, начните с Fabric Data Warehouse. Существующие рабочие нагрузки выделенных пулов SQL могут быть обновлены до Fabric для доступа к новым возможностям в области науки о данных, аналитики в реальном времени и создания отчётов.

Используя Приватный канал Azure, вы можете подключиться к Synapse SQL через приватную конечную точку. Приватная конечная точка — это сетевой интерфейс с приватным IP-адресом в вашей виртуальной сети и подсети. Трафик остаётся на магистральной сети Microsoft вместо того, чтобы проходить через публичный интернет.

Всегда используйте полное доменное имя сервера (<server>.database.windows.netFQDN) в строках подключения для всех клиентских драйверов и средств. Попытки аутентификации с использованием приватного IP-адреса или FQDN приватного канала (<server>.privatelink.database.windows.net) не работают. Такое поведение заранее задумано, потому что приватная конечная точка направляет трафик на SQL Gateway, которому нужен правильный FQDN для успешной маршрутизации запросов на аутентификацию.

Процесс создания

Создайте приватные конечные точки с помощью портала Azure, PowerShell или Azure CLI:

Процесс утверждения

После того как сетевой администратор создаёт частный конечный узел (PE), администратор SQL может управлять подключением частного конечного узла (PEC) к Базе данных SQL.

  1. Перейдите к ресурсу сервера в портале Azure.

  2. Перейдите на страницу утверждения приватной конечной точки. В ресурсе Azure Synapse Analytics SQL server в меню ресурса, в разделе Безопасность, выберите Подключения к частной конечной точке.

  3. См. ниже:

    • Список всех частных соединений конечных точек (PEC)
    • Созданные частные конечные точки доступа (PE)
  4. Если приватных конечных точек нет, создайте ее, выбрав «Создать приватную конечную точку». В противном случае выберите отдельный PEC из списка, выбрав его.

  5. Администратор SQL может одобрить или отклонить PEC и, по желанию, добавить короткий текстовый ответ.

  6. После одобрения или отказа список отражает соответствующее состояние вместе с текстом ответа.

  7. Выберите имя приватной конечной точки.

    Это действие перенаправляет вас на страницу обзора Private endpoint . Выберите ссылку Сетевые интерфейсы, чтобы просмотреть сведения о сетевом интерфейсе для подключения к частной конечной точке.

    На странице сетевого интерфейса показан частный IP-адрес для подключения к частной конечной точке.

Important

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

Отключение общедоступного доступа к логическому серверу

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

Сначала убедитесь, что включены и настроены подключения к частной конечной точке. Затем, чтобы отключить общий доступ к логическому серверу, сделайте следующее:

  1. Перейдите на страницу "Сеть " логического сервера.
  2. Установите флажок Запретить доступ к общедоступной сети.

Проверка подключения к базе данных SQL из виртуальной машины Azure в той же виртуальной сети

В таком случае предположим, что вы создали виртуальную машину Azure (VM) с недавней версией Windows в той же виртуальной сети, что и частная конечная точка.

  1. Запустите сеанс удаленного рабочего стола и подключитесь к виртуальной машине.

  2. Затем вы можете провести базовые проверки связи, чтобы убедиться, что виртуальная машина подключается к SQL Database через приватную конечную точку, используя следующие инструменты:

Проверьте связь с помощью Telnet

Telnet — это функция Windows, которую можно использовать для тестирования подключения. В зависимости от версии Windows, возможно, придётся специально включить эту функцию.

Откройте окно командной строки после установки Telnet. Выполните команду Telnet и укажите IP-адрес и частную конечную точку базы данных в База данных SQL.

telnet 10.9.0.4 1433

Когда Telnet успешно подключается, в окне команд появляется пустой экран.

Проверьте подключение с помощью PowerShell

Используйте команду PowerShell для проверки связности:

Test-NetConnection -computer myserver.database.windows.net -port 1433

Проверьте связь с помощью PsPing

Используйте PsPing следующим образом, чтобы проверить, что частная конечная точка слушает соединения на порте 1433.

Запустите PsPing, указав FQDN для логического SQL Server и порт 1433:

PsPing.exe mysqldbsrvr.database.windows.net:1433

В этом примере показаны ожидаемые результаты:

TCP connect to 10.9.0.4:1433:
5 iterations (warmup 1) ping test:
Connecting to 10.9.0.4:1433 (warmup): from 10.6.0.4:49953: 2.83ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49954: 1.26ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49955: 1.98ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49956: 1.43ms
Connecting to 10.9.0.4:1433: from 10.6.0.4:49958: 2.28ms

Результат показывает, что PsPing может пинговать приватный IP-адрес, связанный с частной конечной точкой.

Проверьте связность с помощью Nmap

Nmap (Network Mapper) — это бесплатный инструмент с открытым исходным кодом для обнаружения сети и аудита безопасности. Для получения дополнительной информации и ссылки для скачивания посетите https://Nmap.org. Используйте этот инструмент, чтобы убедиться, что частная конечная точка прослушивает подключения на порте 1433.

Запускайте Nmap, указывая диапазон адресов подсети, где размещена приватная конечная точка.

Nmap -n -sP 10.9.0.0/24

В этом примере показаны ожидаемые результаты:

Nmap scan report for 10.9.0.4
Host is up (0.00s latency).
Nmap done: 256 IP addresses (1 host up) scanned in 207.00 seconds

Результат показывает, что один IP-адрес доступен, что соответствует IP-адресу приватной конечной точки.

Проверьте подключение с помощью SQL Server Management Studio (SSMS)

Используйте полное доменное имя (FQDN) сервера в строках подключения для клиентов (<server>.database.windows.net). Любые попытки входа напрямую по IP-адресу или через частную ссылку FQDN (<server>.privatelink.database.windows.net) не завершаются. Такое поведение задумано, поскольку приватная конечная точка направляет трафик на SQL-шлюз в регионе. Для успешного входа нужно указать правильный FQDN.

Следуйте шагам, описанным в Использование SSMS для подключения к базе данных SQL. После подключения через SSMS следующий запрос возвращает client_net_address, который совпадает с приватным IP-адресом виртуальной машины Azure, с которой вы подключаетесь:

SELECT client_net_address
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;

Локальные подключения через частный пиринг

Когда вы подключаетесь к публичной конечной точке с локальных машин, необходимо добавить свой IP-адрес в IP-файрвол с помощью правила серверного межсетевого экрана. Хотя эта модель отлично подходит для предоставления доступа к отдельным компьютерам для рабочих нагрузок разработки или тестирования, управлять ею в рабочей среде сложно.

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

Клиенты могут подключаться к частной конечной точке из одной и той же виртуальной сети, одноранговой виртуальной сети в том же регионе или через подключение «виртуальная сеть — виртуальная сеть» между регионами. Кроме того, клиенты могут подключаться из локальной инфраструктуры, используя ExpressRoute, частный пиринг или VPN-туннелирование. На следующей упрощенной схеме показаны распространенные варианты использования.

Кроме того, службы, которые не работают непосредственно в виртуальной сети, но интегрируются с ней (например, Служба приложений веб-приложения или функции) также могут обеспечить частное подключение к базе данных.

Подключиться из виртуальной машины Azure в связанной виртуальной сети

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

Подключение из виртуальной машины Azure в виртуальной сети к среде виртуальной сети

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

Подключение из локальной среды через VPN

Чтобы установить подключение из локальной среды, выберите и реализуйте один из следующих вариантов:

Рассмотрите также сценарии конфигурации DNS, так как FQDN службы может разрешиться в общедоступный IP-адрес.

Подключитесь из Azure Synapse Analytics к служба хранилища Azure, используя PolyBase и оператор COPY

Используйте PolyBase и оператор COPY для загрузки данных в Azure Synapse Analytics из аккаунтов служба хранилища Azure. Если аккаунт служба хранилища Azure, из которого вы загружаете данные, ограничивает доступ только набором подсетей виртуальной сети с помощью Private Endpoints, Service Endpoints или IP-файрволов, то подключение PolyBase и оператора COPY к этой учетной записи нарушается. Чтобы включить сценарии импорта и экспорта с помощью Azure Synapse Analytics, который подключается к служба хранилища Azure, защищенному с помощью виртуальной сети, см. статью "Влияние использования конечных точек службы виртуальной сети с служба хранилища Azure".

Предотвращение кражи данных

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

Рассмотрим сценарий с пользователем, запускающим SQL Server Management Studio (SSMS) в виртуальной машине Azure, подключенной к базе данных SQL. Эта база данных находится в центре обработки данных в западной части США. Следующий пример показывает, как ограничить доступ к публичным конечным точкам с помощью средств управления сетевым доступом.

  1. Отключите весь сервисный трафик Azure к SQL Database через публичную конечную точку, установив Allow Azure Services на OFF. Убедитесь, что правила брандмауэра на уровне сервера и базы данных не допускают IP-адресов. Для получения дополнительной информации см. средства управления сетевым доступом Azure Synapse Analytics.
  2. Разрешить трафик только на частный IP-адрес виртуальной машины. Для получения дополнительной информации см. правила брандмауэра виртуальной сети.
  3. В Azure VM сузьте диапазон исходящих соединений, используя группы сетевой безопасности (NSG) и сервисные теги следующим образом:
    • Укажите правило NSG, разрешающее трафик для Service Tag = SQL.WestUs — с разрешением подключения только к SQL Database в West US.
    • Укажите правило NSG с более высоким приоритетом, чтобы запретить трафик для Service Tag = Sql — запретить подключения к SQL Database во всех регионах.

По завершении этой настройки Azure VM может подключаться только к ресурсу в западном регионе США. Однако подключение не ограничивается одной базой данных. Виртуальная машина всё ещё может подключаться к любой базе данных в регионе West US, включая базы данных, не входящие в подписку. Хотя в предыдущем сценарии вы сокращаете масштаб эксфильтрации данных до конкретного региона, вы не полностью его устраняете.

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