我们将 Azure 应用程序移至 VNet,现在我们无法连接到拥有自己的(不相关)专用端点的第 3 方 SQL Azure 数据库

问题描述 投票:0回答:1

我们运行一个 SaaS,将数据放入其他人的 SQL Azure 数据库中。这些数据库是第三方的,不受我们控制 - 我们只要求他们将我们的 IP 地址列入白名单。

最近,我们将应用程序添加到VNet并为自己获得了固定IP。我们要求客户将新 IP 地址列入白名单。对于大多数人来说,没有问题。

但是,一些客户在自己的 VNet 中拥有数据库,并使用专用终结点授予对其其他系统的访问权限。我们发现我们的应用程序无法连接到这些数据库,直到它们删除其专用端点。在这里,我从 Azure 应用程序访问控制台并连接到第 3 方数据库 - 有或没有私有端点:

您可以看到第一个仅解析为“privatelink”别名,但第二个返回更多信息,包括 IP 地址。

SQL 重定向

起初我以为这是 SQL 重定向连接策略,因此我按照讨论 SQL 重定向的各种在线文章,向我自己的 VNet 添加了 NGS 和传出规则:

这并没有产生什么影响。

防火墙

我已经让客户将我们的新 IP 地址列入白名单。值得注意的是,在我自己的测试中(使用兼容的客户端),即使我短暂地打开所有 IP 地址的防火墙,我们仍然无法获得访问权限。如果我们选中“允许 Azure 服务”框,我们也无法获得访问权限。我相信这表明我们根本无法首先解析该名称,因此甚至还没有到达防火墙(?)

总结一下

  • 在我们拥有自己的 VNet 之前,我们的系统运行良好
  • 一旦我们更改为 VNet,那些拥有独立 SQL Azure 数据库的客户就可以继续正常工作(一旦他们添加了我们的新 IP 地址)
  • 但是那些数据库有自己的(不相关的)专用端点的客户无法工作

我需要什么

这是一个 SaaS,因此我无法手动将专用端点连接到我们端的每个客户端数据库。我需要其中一个:

  • 我可以对自己的 VNet 进行一次更改,以启用此连接(首选);或
  • 我可以向我的客户提供一条指令,使他们能够授予对我们新 VNet 的访问权限

谢谢

azure azure-sql-database vnet
1个回答
0
投票

我的理解是,您自己的 VNET 需要与每个客户 VNET 实现“对等”。您可能还必须将私有 DNS 区域链接到对等互连的 VNET 以进行名称解析,以便 Azure 提供的默认 DNS 将验证是否有链接到虚拟网络的私有 DNS 区域,并且如果 FQDN 匹配,它将解析为私有 IP .

© www.soinside.com 2019 - 2024. All rights reserved.