Как разрешить неизвестным пользователям доступ к моей базе данных SQL (Azure)?
Очевидно, необходимо явно указать (белый список) IP-адреса, которым будет разрешен доступ к БД SQL Azure. Я хочу, однако, иметь N-gazillion * пользователей, которые будут получать доступ к этим таблицам для данных, специфичных для них.
- мания величия / мания величия
Должны ли они сначала предоставить мне свой IP-адрес, чтобы я мог добавить его в качестве допустимой записи, или есть программный способ сделать это, или какой-то другой обходной путь?
5 ответов:
Было бы желательно иметь какой-то средний доступ к БД, а не к вашим клиентам напрямую.
Однако если вы хотите, чтобы любой IP-адрес мог подключаться к БД, просто добавьте эту запись в список брандмауэров:
Портал Azure - > базы данных - > серверы - > настройте и добавьте следующее правило:
Как ваши пользователи будут получать доступ к БД, через веб-приложение (front end) или напрямую (я предполагаю, что вы не будете предоставлять пользователям прямой доступ к вашей БД?), если его через веб-приложение (уровень презентации), то все, что вам нужно сделать, это предоставить доступ к этому IP-адресу уровня презентации/уровня сервиса (и если он размещен в Azure, то рядом с ним).
SQL DB Azure имеет два типа ограничений доступа (подробнее здесь) "Windows Azure SQL Database Firewall "
- брандмауэр на уровне сервера правила:
- правила брандмауэра уровня базы данных
Вы можете либо открыть все IP-адреса 0.0.0.0-255.255.255.255 (не очень безопасно), либо придумать более тонкие политики, основанные на вышеуказанных правилах брандмауэра базы данных.
Единственный способ сделать это-с помощью SQL-запроса. Azure показывает только правила сервера брандмауэра, которые должны быть видны только на портале, но на уровне базы данных единственный способ-через SQL.
-- Enable Allconnections. EXECUTE sp_set_database_firewall_rule N'Allow All', '0.0.0.0', '255.255.255.255';
Если вы позволяете им напрямую обращаться к вашей базе данных (например, через SSMS), вам нужно ввести их IP (или вы можете просто внести весь диапазон в белый список). Обычно они будут использовать вашу базу данных через ваш собственный API, тогда не нужно будет вносить их IP-адреса в белый список.