Mamy sytuację, w której programiści nie mają żadnych UPDATE
uprawnień, ALE pracują z aplikacjami i widzą parametry połączenia -> znają hasła z niektórych kont SQL (przykład SQLLogin1
), które mają uprawnienia UPDATE. Nasze operacje obecnie nie są idealne, a czasami dane produkcyjne muszą zostać zmodyfikowane (nie ma jeszcze GUI).
Zamiast kontaktować się z DBA i prosić go o modyfikację danych, programista (nieprawidłowo) użyje konta SQL SQLLogin1
(które ma uprawnienia do modyfikacji danych) i połączy się z SQL Server Management Studio, aby samodzielnie zmodyfikować dane.
DBA nie może zmienić hasła, ponieważ SQLLogin1
programista nie widzi nowego ciągu połączenia i nowego hasła, ponieważ używany ciąg połączenia aplikacji SQLLogin1
jest utrzymywany przez programistę.
Pytanie:
Czy istnieje sposób odmowy dostępu do SQLLogin1
logowania SQL, ale tylko wtedy, gdy łączy się on przez SSMS?
W tym samym czasie, jeśli SQLLogin1
łączy się .Net SqlClient Data Provider
( program_name
w sys.dm_exec_sessions
), należy zezwolić na logowanie.
W ten sposób nie chcemy, aby programista łączył się za pomocą SSMS SQLLogin1
, podczas gdy używana aplikacja SQLLogin1
nadal będzie mogła się połączyć.