【问题标题】:Function App calling another Function App blocked by IP AddressFunction App 调用另一个被 IP 地址阻止的 Function App
【发布时间】:2020-02-21 13:57:15
【问题描述】:

我们在 Azure 中有一堆功能应用程序,可通过 API 管理服务层访问。

在 API 管理服务层中,我们创建了入站策略以将某些 IP 地址列入白名单。

我们想通过 API 管理服务从另一个函数应用调用一个函数应用,但被 IP 地址阻止。我找不到被阻止的 IP 地址。

我们已将 API 管理服务的外部 IP 地址和所有面向外部的 IP 地址列入白名单。

有没有人经历过类似的事情?我如何知道调用的 IP 地址是什么?如果它是“Azure 的”,我们如何确保该 IP 地址不会改变。

【问题讨论】:

    标签: azure ip-address azure-api-management api-management


    【解决方案1】:

    为什么要从另一个函数应用调用一个函数应用并使用 API 管理来调解调用?我建议您在调用一个函数到另一个函数方面遵循最佳实践,因此,如果您能够管理触发器,只需使用事件网格触发器,然后将事件从函数 X 发送到事件网格主题,然后订阅功能 Y 的主题。在这种情况下,您将拥有开箱即用的重试机制、死信等。因此您无需担心调用的可靠性。如果你不能在你的函数上使用事件网格触发器,你需要使用 HTTP 触发器,然后直接从函数 X 调用到函数 Y,并在该调用中实现重试机制,我会说。

    【讨论】:

    • 一个重要的细节,使用白名单IP地址的方法,你将无法为你的功能使用消费计划,因为IP地址是动态的和变化的,如此处所述-docs.microsoft.com/en-us/azure/azure-functions/ip-addresses。再说一次,我会说,通过使用白名单方法,您正在失去权力。但我很想了解您使用这种方法的原因。也许我在您对该解决方案的要求方面遗漏了一些东西。
    • 感谢您回到我身边。我刚开始做这个项目,需要在短期内加强现有解决方案的安全性,而不需要重写太多。我以前没有使用过事件网格触发器,但它们听起来很有趣,因此将进行调查。
    【解决方案2】:

    我找到了答案:

    点击功能应用 转到平台功能 转到属性

    它将列出当前 IP 地址以及它可能更改为的所有潜在 IP 地址。这在每个地区都不同。

    这些可以被列入白名单。

    【讨论】:

      猜你喜欢
      • 2020-10-26
      • 2019-01-01
      • 1970-01-01
      • 2010-12-14
      • 2015-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-09
      相关资源
      最近更新 更多