Я пытаюсь безопасно разрешить службе приложений 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:
Вы действительно уже выбрали варианты, которые у вас есть для этого:
Если вы не хотите взглянуть на среду службы приложений, которая представляет собой единое арендуемое решение, развернутое в вашей виртуальной сети (и очень дорогое), то это ваши варианты.
Я также рекомендую вам взглянуть на использование Managed Identity для аутентификации веб-приложения в базе данных SQL, а не на использование строки подключения.