场景
我想使用虚拟网络来限制仅从我的应用服务访问 Azure 数据库,以便我可以在防火墙设置中关闭“允许访问应用服务”
我做了什么:
- 我转到“应用服务”->“网络”->“VNET 集成”->“设置”->“创建新虚拟网络”
- 我已使用默认设置创建了新的 VNET。
- 创建 VNET 后,我转到“应用服务”->“网络”->“VNET 集成”并确保 VNET 已连接
- 我进入 SQL 防火墙设置 -> 虚拟网络 -> 添加现有虚拟 Newtork 并选择我的 VNET。我保留了默认子网和地址空间:“default/10.0.0.0/24”,并且未选中 IgnoreMissingServiceEndpoint 标志。
我现在可以在我的 VNET 中看到 Microsoft.Sql 服务端点:
问题
但是,我仍然得到
SqlException: Cannot open server 'my-sqlserver' requested by the login. Client with IP address '52.233..' is not allowed to access the server.:
我错过了什么?
最佳答案
如果您想通过服务端点锁定从应用程序对 Azure SQL、存储、Cosmos DB 等服务的访问,您可以使用新的 VNet 集成功能。该功能的早期形式需要网关并构建在点对站点 VPN 之上。您的应用程序的源 IP 将是站点地址之一。仅当源 IP 是 VNet 地址之一时,服务终结点才起作用。
通过新的 VNet 集成,您的应用后端将使用所选子网中的 IP 进行调用。这意味着您可以在该子网上设置服务端点。
不要将其与应用程序的服务端点混淆。这是最近发布的功能,可将应用程序的流量锁定到选定的 VNet/子网。
关于azure - 如何使用虚拟网络保护从应用服务到Azure Sql数据库的访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50483132/