在我们使用Azure SQL Server存储企业数据的应用程序中,我们有2个数据库,比如说DB1和DB2,根据要求我们必须使用Azure数据工厂将一些数据从DB1复制到DB2。我们以这样的方式配置这个ADF,它从View从DB1获取DATA并将其存储在DB2 Table中。现在由于ADF是PAAS服务,它没有任何静态IP,因此每次运行时都无法连接到SQL Server,然后基于该错误消息我们获得ADF的IP地址并允许在SQL Server中防火墙,它正确执行。在下一个计划中,它会再次失败,因为我们在SQL Server防火墙设置中允许的ADF IP已更改,然后我们需要允许所有大范围的IP使ADF正确运行。
由于这是企业客户端,我们不能在SQL Server防火墙中允许大范围的IP,否则它将是一个很大的安全漏洞。
需要设置ADF的静态IP并且只允许SQL Server中的一个IP的任何解决方法。
答案 0 :(得分:1)
逻辑Azure SQL数据库服务器的IP地址不是静态的,因为它可以随时更改。应使用完全限定的DNS名称而不是SQL Azure服务器的当前IP地址进行所有连接。
为避免添加防火墙规则,您必须将SQL Azure服务器配置为“允许访问Azure服务”,尽管它实际上可以访问Azure中托管的任何内容。
目前人们正在投票选择向ADF添加静态IP地址,您可以看到here。
这两种服务SQL Azure和ADF目前都使用动态IP地址。
希望这有帮助。
答案 1 :(得分:0)
如果您的门户网站上运行了Azure App / Web服务,则有一种方法可以跟踪所有IP地址在您的网页/应用程序上的登陆。跟踪ADF IP的方法相同-如果将Azure Data Factory的GET请求(使用Azure Web Activity)发送到您的网站,则可以读取来自哪个Public IP天蓝色数据工厂的信息。
为此-
在门户上创建Azure应用服务(几乎所有规范现在都可以使用)。
转到您的Azure应用服务并查找“诊断日志”或“应用日志记录设置”,然后启用它。现在转到“日志”视图。此时,您将可以选择任何请求您页面的人的公共IP地址。
使用Web活动转到Azure数据工厂,然后在设置下键入您的Web应用程序/站点地址。将“网络活动”请求类型更改为GET。然后发布管道并触发活动。
如果转到App Service的“日志”视图窗口,则应该看到发送GET请求的ADF的IP。
答案 2 :(得分:0)