首页 > 解决方案 > 如何使用虚拟网络保护从应用服务到 Azure Sql 数据库的访问?

问题描述

设想

我想使用虚拟网络来限制仅从我的应用服务访问 Azure 数据库,这样我就可以在防火墙设置中打开“允许访问应用服务”

允许访问应用服务屏幕截图

我做了什么:

  1. 我去了应用服务->网络-> VNET集成->设置->创建新的虚拟网络
  2. 我使用默认设置创建了新的 VNET。
  3. 创建 VNET 后,我转到 App Service -> Networking -> VNET Integration 并确保 VNET 已连接
  4. 我去了 SQL Firewall settigs -> Virtual Network -> Add existing Virtual Newtork 并选择了我的 VNET。我保留了默认子网和地址空间:“default / 10.0.0.0/24”,并且未选中 IgnoreMissingServiceEndpoint 标志。

我现在可以在我的 VNET 中看到 Microsoft.Sql 服务端点: 在此处输入图像描述

问题

但是,我仍然得到

SqlException:无法打开登录请求的服务器“my-sqlserver”。IP 地址为“52.233”的客户端。. ' 不允许访问服务器。:

我错过了什么?

标签: azureazure-sql-databaseazure-web-app-servicefirewallazure-virtual-network

解决方案


如果您想通过服务端点锁定从您的应用程序对 Azure SQL、存储、Cosmos DB 等服务的访问,您可以使用新的 VNet 集成功能。该功能的早期形式需要网关并建立在点对点 VPN 之上。您应用程序的源 IP 将是指向站点地址的点之一。仅当您的源 IP 是 VNet 地址之一时,服务终结点才有效。

通过新的 VNet 集成,您的应用后端将使用所选子网中的 IP 进行调用。这意味着您可以在该子网上设置服务端点。

不要与应用程序的服务端点混淆。这是最近发布的功能,可将应用程序的流量锁定到选定的 VNet/子网。


推荐阅读