繁体   English   中英

出站 IP 地址 Azure API 管理

[英]Outbound IP address Azure API Management

场景:我创建了 Azure API 管理的即用即付实例。 在这方面,作为 API,我导入了 Azure Functions App。 Azure Functions 应用程序也在消费计划中。 这些 azure 函数正在调用一些外部 API 并获取数据。 我从这些函数返回数据。

问题:要从外部 API 获取数据,我需要将我的 IP 地址列入白名单。 我的调用模式是 APIM => Azure 函数 => 外部 API。 我正在从我的 UI 中点击 APIM 端点来获取数据。 我没有将 azure 函数端点暴露给 UI。 问题是应该将哪些 IP 列入白名单以获取数据?

尝试的选项:

  1. 我将 APIM 虚拟地址(公共)列入白名单,但这不起作用。
  2. 我在每个函数中添加了日志以记录出站 IP 地址(使用 ipconfig.me)。 这给了我与 APIM 公共 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 -网关

如果没有网关,可以使用以下命令检查出站 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM