Tenemos una situación en la que los Desarrolladores no tienen ningún UPDATEpermiso, PERO trabajan con aplicaciones y ven cadenas de conexión -> conocen las contraseñas de algunas cuentas SQL (ejemplo SQLLogin1) que tienen permisos de ACTUALIZACIÓN. Nuestras operaciones actualmente no son perfectas y, a veces, es necesario modificar los datos de producción (todavía no hay GUI para eso).
En lugar de contactar a DBA y pedirle que modifique los datos, el Desarrollador usaría (incorrectamente) una cuenta SQL SQLLogin1(que tiene permiso para modificar los datos) y se conectaría a través de SQL Server Management Studio para modificar los datos él mismo.
DBA no puede cambiar la contraseña SQLLogin1sin que el Desarrollador vea la nueva cadena de conexión y la nueva contraseña, ya que la cadena de conexión de la aplicación que utiliza SQLLogin1es mantenida por el Desarrollador.
Pregunta:
¿Hay alguna forma de denegar el acceso al SQLLogin1inicio de sesión de SQL, pero solo si se conecta a través de SSMS?
Al mismo tiempo, si se SQLLogin1está conectando .Net SqlClient Data Provider( program_nameen el sys.dm_exec_sessions), se debe permitir iniciar sesión.
De esta manera, no queremos permitir que Developer se conecte a través de SSMS usando SQLLogin1, mientras que la aplicación que está usando SQLLogin1, todavía podría conectarse.

