允许Azure SQL Server数据库的特定用户仅通过特定IP连接

时间:2018-10-25 07:21:20

标签: sql-server azure azure-sql-database

在Azure服务器/数据库防火墙中,我们可以设置IP,通过该IP可以建立与SQL Server的连接。但是,如果我设置任何IP地址,例如。 101.202.203.204,则数据库的所有用户都可以通过该IP连接。

应用程序使用了一个用户。我不希望任何人使用该用户名连接到生产数据库。仅应在承载Azure中应用程序的VM上允许此连接。

在SQL Server中,有一个名为登录触发器的功能,通过该功能,我可以确定建立连接的用户名和IP地址,并在连接请求无效时拒绝。该功能会很有帮助,但是此功能在我用作服务的Azure SQL Server中不可用。

谢谢。

1 个答案:

答案 0 :(得分:1)

我不确定这是保护SQL Server / SQL Azure数据库的最佳方法,但是从技术上讲,您可以使用登录触发器在其中检查用户名和IP,从而做到这一点触发器中的地址。在文档中有一个示例,这里的触发器基本上就是您要的(检查登录名)。您只需要加入sys.dm_exec_connections并验证IP地址就是您想要的。

https://docs.microsoft.com/en-us/sql/t-sql/statements/create-trigger-transact-sql?view=sql-server-2017