出站 IP 地址 Azure API 管理
Outbound IP address Azure API Management
场景:我创建了 Azure API 管理的现收现付实例。在那里,作为 APIs,我已经导入了 Azure Functions App。 Azure Functions 应用程序也在消费计划中。这些 azure 函数正在调用一些外部 APIs 并获取数据。我 return 来自这些函数的数据。
问题:要从外部 API 获取数据,我需要将我的 IP 地址列入白名单。
我的调用模式是 APIM => Azure Function => External API。我正在从我的 UI 中点击 APIM 端点来获取数据。我没有将 azure 函数端点暴露给 UI。
问题是应该将哪个 IP 列入白名单以获取数据?
尝试过的选项:
- 我将 APIM 虚拟地址 (public) 列入了白名单,但是没有用。
- 我在每个函数中添加了日志以记录出站 IP 地址(使用 ipconfig.me)。这给了我与 APIM public IP.
不同的 IP 地址
我的困惑是,如果我将这些功能导入到APIM,那么我的出站IP地址应该是APIM而不是功能,对吧?还是我的理解有误?
如果有人可以帮助解决这种情况,那将非常有帮助。
我们需要将我们的 IP 列入白名单,以便我们可以获取数据。为此,即使我们需要切换到高级计划,也可以对基础设施进行更改。
在您的情况下,APIM 用作您系统的网关,因此您可以将 APIM 的出站 IP 地址用于在 Azure Functions 级别配置的 IP 限制。这将保护对 Functions 的访问并将其限制为仅 APIM.
由于您需要保护通过 Azure Functions 访问的外部 API,因此您需要检查应用服务计划的出站 IP(无论是否是消费)。只有通过某种网关发送出站流量时,您尝试的方案才有效(请参阅 - https://docs.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 tsv
场景:我创建了 Azure API 管理的现收现付实例。在那里,作为 APIs,我已经导入了 Azure Functions App。 Azure Functions 应用程序也在消费计划中。这些 azure 函数正在调用一些外部 APIs 并获取数据。我 return 来自这些函数的数据。
问题:要从外部 API 获取数据,我需要将我的 IP 地址列入白名单。 我的调用模式是 APIM => Azure Function => External API。我正在从我的 UI 中点击 APIM 端点来获取数据。我没有将 azure 函数端点暴露给 UI。 问题是应该将哪个 IP 列入白名单以获取数据?
尝试过的选项:
- 我将 APIM 虚拟地址 (public) 列入了白名单,但是没有用。
- 我在每个函数中添加了日志以记录出站 IP 地址(使用 ipconfig.me)。这给了我与 APIM public IP. 不同的 IP 地址
我的困惑是,如果我将这些功能导入到APIM,那么我的出站IP地址应该是APIM而不是功能,对吧?还是我的理解有误?
如果有人可以帮助解决这种情况,那将非常有帮助。 我们需要将我们的 IP 列入白名单,以便我们可以获取数据。为此,即使我们需要切换到高级计划,也可以对基础设施进行更改。
在您的情况下,APIM 用作您系统的网关,因此您可以将 APIM 的出站 IP 地址用于在 Azure Functions 级别配置的 IP 限制。这将保护对 Functions 的访问并将其限制为仅 APIM.
由于您需要保护通过 Azure Functions 访问的外部 API,因此您需要检查应用服务计划的出站 IP(无论是否是消费)。只有通过某种网关发送出站流量时,您尝试的方案才有效(请参阅 - https://docs.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 tsv