2015-06-26 2 views
1

У нас есть клиентское приложение, которое использует базу данных для хранения данных. Он обычно выполняет CRUD-операции на них (SQL Server, Oracle, SQL Azure ...). Обычно это приложение устанавливается на ноутбуках конечных пользователей, и оно напрямую связано с базой данных (без промежуточного программного обеспечения).Доступ к SQL Azure из клиентского приложения

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

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

Спасибо,

Боб

ответ

2

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

Azure SQL Server and Database firewall rules.

Лучшей идеей было бы создать API-интерфейс между приложением и вашей базой данных, которая предоставляет данные. Каждый клиент делает запросы к вашему API, и они проверяются там. Если зарегистрированный пользователь, API получает информацию из БД и предоставляет ее своим клиентам. Это может потребовать больше работы, но это упростит для вас, чтобы ваша безопасность контролировалась и расширяла или модифицировала ее в будущем.

Если вы хотите получить более подробную информацию о брандмауэре Azure SQL, вы можете проверить эту статью из MSDN: How to configure an Azure SQL database firewall.

+0

Как насчет использования Azure VPN - это сработает? Тогда у вас будет фиксированный диапазон IP-адресов? – bemoore

+0

Я знаю, что вы можете отметить проверку, чтобы сделать базу данных доступной для других Azure Services, я не знаю, включает ли она Azure VPN. Вы должны попробовать :) – jangelfdez

1

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

Я развернул свое приложение в приложении Azure Remote и настроил базу данных SQL Azure в качестве механизма хранения для него.

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

+0

Замечательно, что вы предоставили решение. Просто интересно, может ли каждый пользователь платить за использование приложения с таким подходом? Я думаю так. – NoChance

+0

Это правильно. – bemoore

Смежные вопросы