У нас есть ситуация, когда у разработчиков нет никаких UPDATE
разрешений, НО они работают с приложениями и видят строки подключения -> они знают пароли от некоторых учетных записей SQL (пример SQLLogin1
), которые имеют разрешения UPDATE. Наши операции в настоящее время не совершенны, и иногда необходимо изменить производственные данные (пока нет графического интерфейса для этого).
Вместо того чтобы связываться с администратором базы данных и просить его изменить данные, разработчик (неправильно) использует учетную запись SQL SQLLogin1
(у которой есть разрешение на изменение данных) и подключается через SQL Server Management Studio, чтобы самому изменять данные.
Администратор базы данных не может изменить пароль, SQLLogin1
если Разработчик не увидит новую строку подключения и новый пароль, поскольку используемая строка подключения приложения SQLLogin1
поддерживается Разработчиком.
Вопрос:
Есть ли способ запретить доступ к SQLLogin1
входу в SQL, но только если он подключается через SSMS?
В то же время, если SQLLogin1
соединение через .Net SqlClient Data Provider
( program_name
в sys.dm_exec_sessions
), он должен быть разрешен для входа.
Таким образом, мы не хотим, чтобы Разработчик подключался через SSMS SQLLogin1
, в то время как приложение, которое использует SQLLogin1
, все еще сможет подключаться.