Azure SQL通过VNet的Azure功能连接字符串

时间:2017-12-14 21:32:19

标签: azure azure-sql-database azure-functions

我想知道如何以安全的方式从我的Azure功能应用程序访问我的Azure SQL数据库,这意味着不能通过公共Internet。

我有一个功能应用程序(功能应用程序计划 - 标准层),使用VNET / Gateway集成。我已经为Microsoft.SQL指定了一个服务EndPoint ...我在Azure SQL数据库上启用了虚拟网络访问....

当Azure函数尝试连接到sql db时,它使用'normal'连接字符串,其中包含sql数据库服务器名称作为dns标签,然后我得到错误,我的IP地址不允许访问。 IP地址是Azure功能应用程序的出站IP地址。

我认为这个错误意味着功能应用程序试图通过公共互联网连接到Azure SQL数据库。我们的想法是,此请求应通过VNet到达Azure SQL数据库。

我的猜测是连接字符串应该不同。有什么建议吗?

1 个答案:

答案 0 :(得分:3)

  

当Azure函数尝试连接到sql db时,它使用   '正常' connectionstring,包括sql数据库服务器名称   作为dns标签,然后我得到错误,我的IP地址是不允许的   访问。

当我们尝试连接sql数据库时,网络流量将通过互联网。 因为Azure服务资源可以保护到您的虚拟网络。通过完全删除对资源的公共Internet访问,以及仅允许来自虚拟网络的流量,保护服务资源到虚拟网络可提高安全性。

像这样,Internet网络流量将无法访问此服务(SQL数据库): enter image description here

如果要连接Azure功能应用和Azure SQL数据库,我们应该在Azure Vnet中部署Azure功能应用,我们应该使用App Service Environment来部署它。

有关App Service环境的更多信息,请参阅此article