Как разрешить неизвестным пользователям доступ к моей базе данных SQL (Azure)?


Очевидно, необходимо явно указать (белый список) IP-адреса, которым будет разрешен доступ к БД SQL Azure. Я хочу, однако, иметь N-gazillion * пользователей, которые будут получать доступ к этим таблицам для данных, специфичных для них.

  • мания величия / мания величия

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

5 37

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-адреса в белый список.

Login to azure Portal

    select your database subscription

        click on Tools

                Now there is option 'Open in VisualStudio' (click on it)

                    You can see "Configure Firewall" click on it.

        Add you new IP.

Done :)