Wir haben eine Situation, in der Entwickler keine UPDATE
Berechtigungen haben, ABER sie arbeiten mit Anwendungen und sehen Verbindungszeichenfolgen -> sie kennen Kennwörter von einigen SQL-Konten (Beispiel SQLLogin1
), die UPDATE-Berechtigungen haben. Unsere Abläufe sind derzeit nicht perfekt, und manchmal müssen Produktionsdaten geändert werden (noch keine grafische Benutzeroberfläche).
Anstatt sich an DBA zu wenden und ihn zu bitten, die Daten zu ändern, würde der Entwickler (zu Unrecht) ein SQL-Konto SQLLogin1
(das die Berechtigung zum Ändern der Daten hat) verwenden und eine Verbindung über SQL Server Management Studio herstellen, um die Daten selbst zu ändern.
Der DBA kann das Kennwort nicht ändern, SQLLogin1
ohne dass der Entwickler die neue Verbindungszeichenfolge und das neue Kennwort sieht, da die verwendete Anwendungsverbindungszeichenfolge SQLLogin1
vom Entwickler verwaltet wird.
Frage:
Gibt es eine Möglichkeit, den Zugriff auf die SQLLogin1
SQL-Anmeldung zu verweigern , jedoch nur, wenn eine Verbindung über SSMS hergestellt wird?
Zur gleichen Zeit, wenn SQLLogin1
eine Verbindung über .Net SqlClient Data Provider
( program_name
in sys.dm_exec_sessions
) hergestellt wird, muss die Anmeldung gestattet sein.
Auf diese Weise möchten wir nicht, dass Entwickler über SSMS eine Verbindung herstellen SQLLogin1
, während die verwendete Anwendung SQLLogin1
weiterhin eine Verbindung herstellen kann.