Назад | Перейти на главную страницу

Подключение службы приложений Azure к базе данных Azure SQL Server

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

Раньше, чтобы «просто заставить его работать», у меня был брандмауэр SQL Server, открытый для Интернета. Служба приложений получает строку подключения от службы приложений и использует ее для подключения к .database.windows.net.

Пока я вижу только две возможности:

1) В частности, пропустите исходящие IP-адреса из службы приложений через брандмауэр SQL Server. Это рискованно, поскольку IP-адреса могут меняться, и мне приходится менять их каждый раз, когда это происходит.

2) Поместите SQL Server и службу приложений в виртуальную сеть.

Я попробовал 2), и это вроде не удалось. Я добавил свою виртуальную сеть к разрешенным виртуальным сетям в настройках брандмауэра SQL Server и запретил подключение к Интернету.
Затем я обновил службу приложений с B1 до S1, потому что, по-видимому, моя служба приложений за 11 евро не разрешена во vnet (это также причина, по которой я ищу здесь другое решение).
Раньше это работало, но теперь я изменил кое-что, чтобы попробовать что-то, и после того, как вернул обратно, это больше не работает. Не знаю почему, настройки такие же.

Итак, моя проблема с самого начала все еще здесь:

Как правильно и безопасно подключить службу приложений к базе данных SQL Server?

Обновить:

Итак, я пока использую решение vnet / endpoint, но оно не сработает.

Настройка брандмауэра SQL Server:

Вы действительно уже выбрали варианты, которые у вас есть для этого:

  1. Разрешить доступ с помощью флажка «Разрешить доступ ко всем службам Azure», не рекомендуется.
  2. Разрешить доступ к набору исходящих IP-адресов для вашего веб-приложения
  3. Присоедините свое веб-приложение к виртуальной сети и используйте конечные точки служб, чтобы заблокировать SQL в этой виртуальной сети.

Если вы не хотите взглянуть на среду службы приложений, которая представляет собой единое арендуемое решение, развернутое в вашей виртуальной сети (и очень дорогое), то это ваши варианты.

Я также рекомендую вам взглянуть на использование Managed Identity для аутентификации веб-приложения в базе данных SQL, а не на использование строки подключения.