场景:我已经创建了Azure管理的随付即用实例。在这方面,作为App,我导入了Azure函数应用程序。Azure函数应用程序也在消费计划上。这些azure函数调用一些外部API并获取数据。我返回这些函数中的数据。
问题:要从外部API获取数据,我需要使我的IP地址白化。我的调用模式是APIM => Azure函数=>外部API。我从UI中点击APIM端点来获取数据。我还没有将天蓝色函数端点公开给UI。问题是什么IP应该被白名单获得数据?
已尝试的备选办法:
的地址。
我的困惑是,如果我把这些功能导入APIM,那么我的出站IP地址应该是APIM,而不是函数,对吗?还是我的理解错了?
如果有人能在这个场景中提供帮助,这将是非常有帮助的。我们需要让我们的IP白名单,这样我们才能得到数据。因为这样的改变可以做到,即使我们需要切换到保费计划。
发布于 2021-11-02 09:15:24
在您的示例中,APIM充当系统的网关,因此您将使用APIM的出站IP地址作为在Azure函数级别上配置的IP限制。这将确保对函数的访问,并将其仅限于APIM。
由于您需要保护通过Azure函数访问的外部API,因此需要检查应用程序服务计划的出站IP (不管它是否消费)。您尝试的方案只有在通过某种网关发送出站流量时才能工作(参见- https://learn.microsoft.com/en-us/azure/azure-functions/functions-how-to-use-nat-gateway)。
如果没有网关,可以使用以下命令检查出站IP:
az functionapp show --resource-group <GROUP_NAME> --name <APP_NAME> --query outboundIpAddresses --output tsv
az functionapp show --resource-group <GROUP_NAME> --name <APP_NAME> --query possibleOutboundIpAddresses --output tsvhttps://stackoverflow.com/questions/69807046
复制相似问题