您可以使用虚拟网络服务端点和规则。虚拟网络规则是一种防火墙安全功能,可控制Azure SQL数据库或SQL数据仓库服务器是否接受从虚拟网络中的特定子网发送的通信。了解如何使用它和利益/限制 这个 文档。
SQL Azure中的当前VPN功能并不能直接阻止这种情况(但请查看计划用于SQL Azure的服务端点功能的未来更新)。但是,您可以使用各种缓解措施来检测或降低执行此操作的能力:
请注意,SQL Azure的逻辑服务器通常不会暗示该服务器中的每个客户数据库都具有相同的IP。目前,在服务端点旋钮(文档页面目前下跌了,所以我不能让你一个链接ATM)的配置,您是否经过每个区域的网关或没有。如果您不这样做(推荐),您将看到托管节点的IP,这可能会随着时间的推移而发生变化。服务端点功能将为VPN用户提供更多对网络级规则的控制,但其中一些功能尚未投入生产。我鼓励您使用其他步骤(上图)进行缓解,直到您可以使用。
如果数据库aaa和bbb具有相同的公共IP地址。我认为没有一种好方法可以在内部部署防火墙中设置允许访问aaa但拒绝访问bbb。在同一客户端,防火墙规则将具有相同的源IP,协议,端口和出站流量的目标IP。
如果要有选择地仅授予对Azure SQL Server中某个数据库的访问权限,则只能为所需数据库创建数据库级规则。此外,指定超出服务器级防火墙规则中指定的IP地址范围的数据库防火墙规则的IP地址范围,并确保客户端的IP地址落在数据库级规则中指定的范围内。服务器级规则允许访问Azure SQL Server。这意味着客户端将可以访问存储在该SQL Server上的所有数据库。参考这个 DOC 。