Как создать триггер для блокировки определенного имени программы, кроме случаев, когда логин находится в определенной группе AD? - PullRequest
1 голос
/ 09 апреля 2019

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

Только те, кто входит в указанную группу AD, должны иметь возможность подключаться кбаза данных с любым приложением Office.Это вообще возможно?

SQL Server 2012 Enterprise.

Я знаю, что они настроены для всего сервера, но я думаю о создании триггера.Я создал таблицу, которая постоянно обновляется пользователями AD, и создал соединение ниже.Мне нужно, чтобы все, кто возвращается с помощью этого запроса, получили доступ к базе данных с нужным приложением Office, и все, кто не вернулся, будут отклонены.

SELECT A.LOGIN_NAME, A.PROGRAM_NAME, B.LOGIN NAME
FROM sys.dm_exec_sessions A
JOIN AD_Group_Members B ON A.login_name = B.LOGIN NAME
WHERE session_id = @@SPID
  AND program_name IN (N'2007 Microsoft Office system', N'Microsoft Office', N'Microsoft Office 2016', N'Microsoft Office 2013', N'Microsoft® Mashup Runtime')

Я не могу проверить это, потому что яне могу получить в руки адекватную среду тестирования: /

Итак, сработает ли это?Есть ли лучший способ проведения этого?

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...