Средства контроля сетевого доступа базы данных 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, используемым в таких функциях, как:
- Аудит
- Оценка уязвимостей
- Служба импорта и экспорта
- OPENROWSET
- Массовая вставка
- sp_invoke_external_rest_endpoint
- Реестр
- Прозрачное шифрование данных Azure SQL с ключом, управляемым клиентом
Тег службы SqlManagement
Тег службы SqlManagement используется для операций уровня управления с База данных SQL.
Правила брандмауэра для виртуальной сети
Правила брандмауэра виртуальной сети упрощают создание и управление доступом из определенной подсети, содержащей виртуальные машины.
Приватный канал
Приватный канал позволяет подключаться к серверу через частную конечную точку. Частная конечная точка — это частный IP-адрес в определенной виртуальной сети и подсети.
Связанный контент
Чтобы быстро приступить к созданию правила брандмауэра для IP-адресов на уровне сервера, ознакомьтесь со статьей Создание базы данных в Базе данных SQL.
Краткое руководство по созданию правила брандмауэра виртуальной сети на уровне сервера см. в статье Конечная точка службы для виртуальной сети и правила для базы данных SQL Azure.
Сведения о подключении к базе данных в База данных SQL из открытый код или партнерских приложений см. в примерах кода клиентского краткого руководства по База данных SQL.
Сведения о других портах, которые может потребоваться открыть, см. в База данных SQL: вне раздела "Порты" за пределами 1433 для ADO.NET 4.5 и База данных SQL
Общие сведения об архитектуре подключений к Базе данных SQL Azure см. в этой статье.
Общие сведения о методах защиты в Базе данных SQL Azure см. в этой статье.