У нас ситуація, коли розробники не мають UPDATE
дозволів, АЛЕ вони працюють з програмами та бачать рядки підключення -> вони знають паролі з деяких облікових записів SQL (приклад SQLLogin1
), які мають дозволи на оновлення. Наші операції в даний час не є досконалими, а іноді виробничі дані потрібно змінювати (для цього ще немає графічного інтерфейсу).
Замість того, щоб звертатися до DBA і просити його змінити дані, розробник (неналежним чином) використовує обліковий запис SQL SQLLogin1
(який має дозвіл на зміну даних) та підключиться через студію управління SQL Server для зміни самих даних.
DBA не може змінити пароль SQLLogin1
без того, щоб розробник побачив новий рядок з'єднання та новий пароль, оскільки рядок підключення програми, яку використовує SQLLogin1
, підтримує розробник.
Питання:
Чи є спосіб заборонити доступ до SQLLogin1
входу в SQL, але тільки якщо він підключається через SSMS?
У той же час, якщо SQLLogin1
підключення закінчується .Net SqlClient Data Provider
( program_name
в sys.dm_exec_sessions
), воно повинно бути дозволено ввійти.
Таким чином ми хочемо не дозволяти Developer підключатися через SSMS SQLLogin1
, хоча програма, яка використовується SQLLogin1
, все ще зможе підключитися.