Средства контроля сетевого доступа базы данных SQL Azure и Azure Synapse Analytics

Применимо к:База данных SQL Azure Azure Synapse Analytics (только выделенные пулы SQL)

При создании логического сервера из портал Azure для База данных SQL Azure и Azure Synapse Analytics результатом является общедоступная конечная точка в формате yourservername.database.windows.net.

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

  • Правила брандмауэра на основе IP-адресов: используйте эту функцию для явного разрешения подключений с определенного IP-адреса. Например, из локальных компьютеров или диапазона IP-адресов, указав начальный и конечный IP-адрес.

  • Разрешить службам и ресурсам Azure доступ к этому серверу: если включен, другие ресурсы в пределах границы Azure могут получить доступ к База данных SQL. Например, виртуальная машина Azure может получить доступ к База данных SQL ресурсам.

Вы также можете разрешить частный доступ к базе данных из виртуальных сетей через:

  • Правила брандмауэра виртуальной сети. Используйте эту функцию, чтобы разрешить трафик из определенной виртуальной сети в пределах границы Azure.

  • Приватный канал. Используйте эту функцию для создания частной конечной точки для логического сервера в Azure в определенной виртуальной сети.

Внимание

Эта статья не относится к управляемому экземпляру базы данных SQL. Дополнительные сведения о конфигурации сети см. в руководстве по подключению управляемого экземпляра SQL Azure.

Правила брандмауэра для IP-адресов

Брандмауэр на основе IP-адресов — это компонент логического сервера в Azure, который запрещает доступ ко всему серверу, пока не будет явно добавлять IP-адреса для клиентских компьютеров .

Параметр "Разрешить службы Azure"

По умолчанию при создании нового логического сервера из портал Azure разрешить службам и ресурсам Azure доступ к этому серверу не проверка и не включен. Этот параметр отображается, когда подключение разрешено через общедоступную конечную точку.

Этот параметр также можно изменить с помощью параметра сети после создания логического сервера следующим образом:

              Снимок экрана: управление брандмауэром сервера

Если разрешить службам и ресурсам Azure доступ к этому серверу , сервер разрешает обмен данными со всех ресурсов внутри границы Azure независимо от того, являются ли они частью подписки. Во многих случаях включение параметра является более разрешительным, чем то, что большинство клиентов хотят. Возможно, потребуется отменить проверка этот параметр и заменить его более строгими правилами брандмауэра IP-адресов или использовать один из вариантов частного доступа.

Внимание

Проверка разрешения доступа к этому серверу служб и ресурсов Azure добавляет правило брандмауэра на основе IP-адресов с начальным и конечным IP-адресом 0.0.0.0

Однако это влияет на следующие функции, выполняемые на виртуальных машинах в Azure, которые не являются частью виртуальной сети и поэтому подключаются к базе данных через IP-адрес Azure:

Служба импорта и экспорта

Импорт службы экспорта не работает, если разрешить службам и ресурсам Azure доступ к этому серверу не включен. Однако вы можете обойти проблему , вручную запустив SqlPackage из виртуальной машины Azure или выполнив экспорт непосредственно в коде с помощью API DACFx.

Синхронизация данных

Чтобы использовать функцию синхронизации данных с разрешением доступа к этому серверу службам и ресурсам Azure, необходимо создать отдельные записи правил брандмауэра, чтобы добавить IP-адреса из тега службы Sql для региона, в котором размещена база данных Концентратора. Добавьте эти правила брандмауэра уровня сервера на серверы, на которых размещаются базы данных центра и члены (которые могут находиться в разных регионах).

Используйте следующий сценарий PowerShell для создания IP-адресов, соответствующих тегу службы SQL для региона "Западная часть США".

PS C:\>  $serviceTags = Get-AzNetworkServiceTag -Location eastus2
PS C:\>  $sql = $serviceTags.Values | Where-Object { $_.Name -eq "Sql.WestUS" }
PS C:\> $sql.Properties.AddressPrefixes.Count
70
PS C:\> $sql.Properties.AddressPrefixes
13.86.216.0/25
13.86.216.128/26
13.86.216.192/27
13.86.217.0/25
13.86.217.128/26
13.86.217.192/27

Совет

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

Выходные данные скрипта PowerShell приведены в нотации маршрутизации без классов между доменами (CIDR). Необходимо выполнить преобразование в формат начального и конечного IP-адресов с помощью Get-IPrangeStartEnd.ps1 следующим образом:

PS C:\> Get-IPrangeStartEnd -ip 52.229.17.93 -cidr 26
start        end
-----        ---
52.229.17.64 52.229.17.127

Для преобразования всех IP-адресов из CIDR в формат начального и конечного IP-адресов можно использовать следующий скрипт PowerShell.

PS C:\>foreach( $i in $sql.Properties.AddressPrefixes) {$ip,$cidr= $i.split('/') ; Get-IPrangeStartEnd -ip $ip -cidr $cidr;}
start          end
-----          ---
13.86.216.0    13.86.216.127
13.86.216.128  13.86.216.191
13.86.216.192  13.86.216.223

Теперь их можно добавить в виде отдельных правил брандмауэра, а затем отключить параметр Разрешить службам и ресурсам Azure доступ к этому серверу.

Тег службы SQL

Теги служб можно использовать в правилах безопасности и маршрутах от клиентов к База данных SQL. Теги служб можно использовать в группах безопасности сети, Брандмауэр Azure и определяемых пользователем маршрутах, указав их в поле источника или назначения правила безопасности. Тег службы Sql состоит из всех IP-адресов, используемых База данных SQL. Тег также сегментируется по регионам. Например, Sql.WestUS перечисляет все IP-адреса, используемые База данных SQL в западной части США.

Тег службы Sql состоит из IP-адресов, необходимых для установления подключения к База данных SQL, как описано в IP-адресах шлюза. Кроме того, тег службы также будет связан с любым исходящим трафиком из База данных SQL, используемым в таких функциях, как:

Тег службы SqlManagement

Тег службы SqlManagement используется для операций уровня управления с База данных SQL.

Правила брандмауэра для виртуальной сети

Правила брандмауэра виртуальной сети упрощают создание и управление доступом из определенной подсети, содержащей виртуальные машины.

Приватный канал позволяет подключаться к серверу через частную конечную точку. Частная конечная точка — это частный IP-адрес в определенной виртуальной сети и подсети.