Abbiamo una situazione in cui gli sviluppatori non dispongono di UPDATEautorizzazioni, MA lavorano con le applicazioni e vedono le stringhe di connessione -> conoscono le password di alcuni account SQL (esempio SQLLogin1) che dispongono di autorizzazioni UPDATE. Le nostre operazioni al momento non sono perfette e, a volte, i dati di produzione devono essere modificati (non è ancora disponibile una GUI).
Invece di contattare DBA e chiedergli di modificare i dati, lo sviluppatore dovrebbe (impropriamente) utilizzare l'account SQL SQLLogin1(che dispone dell'autorizzazione per modificare i dati) e connettersi tramite SQL Server Management Studio per modificare i dati.
DBA non può modificare la password SQLLogin1senza che Developer visualizzi la nuova stringa di connessione e la nuova password, poiché la stringa di connessione dell'applicazione che utilizza SQLLogin1viene gestita da Developer.
Domanda:
C'è un modo per negare l'accesso al SQLLogin1login SQL, ma solo se si sta connettendo tramite SSMS?
Allo stesso tempo, se si SQLLogin1sta connettendo tramite .Net SqlClient Data Provider( program_namein sys.dm_exec_sessions), deve essere consentito il login.
In questo modo non vogliamo consentire allo sviluppatore di connettersi tramite SSMS utilizzando SQLLogin1, mentre l'applicazione che sta utilizzando SQLLogin1, sarebbe comunque in grado di connettersi.

