2009-07-02 3 views
1

Есть ли способ ограничить доступ с SQL Server Management Studio на SQL Server на сервер базы данных? Или к данному IP-адресу?SQL Server ограничивает доступ только к локальному серверу

Дело в том, что группе пользователей (в группе Windows) разрешен доступ к базе данных через приложение, но ему должен быть отказано в доступе с помощью SQL Server Management Studio.

Я прочитал несколько статей о роли приложения и т. Д., Но мне нужно зайти в базу данных с помощью аутентифицированных пользователей.

ответ

0

студия управления также является просто клиентом, поэтому вы не можете их отключить.

что вы можете сделать, это отказать в доступе к своим счетам, чтобы они не могли подключиться через ssms.

то в вашем приложении каждый пользователь имеет свой собственный sql-вход, с которым они соединяются, но пароль должен быть скрыт от них.

2

В MS SQL 2008 (не уверен, 2005), вы можете написать DLL триггер на событие входа в систему

CREATE TRIGGER trigger_name 
    ON ALL SERVER 
    [ WITH <logon_trigger_option> [ ,...n ] ] 
    { FOR | AFTER } LOGON 

определить имя приложения, вы можете использовать оператор, как это

select program_name from master.dbo.sysprocesses with (nolock) 
where spid = @@spid 

В моем случае этот запрос возвращает «Microsoft SQL Server Management Studio» Итак, вы можете проверить имя_программы и поднять ошибку. Я не знаю, что произойдет, если вы вызовете ошибку внутри триггера LOGON, но вы можете попробовать это.

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

Однако этот метод следует рассматривать как только как временное решение. Вы должны использовать «Пользователи», «Роли» и «Схемы», чтобы защитить данные, чувствительные к базе данных. Некоторые данные (пароли, номера кредитных карт) должны храниться в зашифрованных столбцах.

Учтите, что ваши пользователи могут подключаться к базе данных из Access и Excel из любого приложения, поддерживающего ODBC или собственный .NET-клиент. Они могут даже написать небольшой VBScript для подключения через ADO. Таким образом, существует множество различных инструментов и приложений, которые могут показывать пользователям данные в таблицах. И это не очень хороший способ ограничить доступ по имени приложения - его следует ограничить, используя стандартные параметры безопасности.

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