在这种情况下,开发人员没有任何UPDATE
权限,但是他们使用应用程序并看到连接字符串->他们知道一些SQLLogin1
具有UPDATE权限的SQL帐户(示例)中的密码。目前,我们的操作还不够完善,有时还需要修改生产数据(目前还没有GUI)。
与其联系DBA并要求他修改数据,开发人员将(不当地)使用SQL帐户SQLLogin1
(具有修改数据的权限),并通过SQL Server Management Studio连接以自己修改数据。
DBA无法更改密码,SQLLogin1
除非开发人员看到新的连接字符串和新密码,因为使用的应用程序连接字符串SQLLogin1
由开发人员维护。
题:
有一种方法可以拒绝对SQLLogin1
SQL登录名的访问,但仅当它通过SSMS连接时才可以?
同时,如果SQLLogin1
通过.Net SqlClient Data Provider
(program_name
中的sys.dm_exec_sessions
)连接,则必须允许其登录。
这样,我们不想让Developer使用来通过SSMS进行连接SQLLogin1
,而使用的应用程序SQLLogin1
仍然可以进行连接。