调用API管理时的Logic App IP地址

时间:2018-11-27 04:52:22

标签: azure-logic-apps azure-api-management

以下是我的情况:

我正在从Logic APP调用API管理。

我想限制IP地址,以便只有Logic App可以调用API管理。

我正在对下面提到的here的IP地址使用IP过滤器

<ip-filter action="allow | forbid">  
<address>40.112.243.160</address>  
<address>address</address>  
</ip-filter>

但是我无法弄清楚API Management的IP地址。它与此link中提供的IP地址列表不同。它以10. 。*开头。

我在这里错过了什么吗?

3 个答案:

答案 0 :(得分:2)

据我所知,每个区域都有Azure Logic App的出站IP地址列表。有关更多详细信息,请参阅doc。如果要避免在同一区域中使用Logic App的其他用户访问您的资源或获取静态单个IP地址,则可以进一步使用Azure API管理充当Logic App的反向代理。然后在APIM中使用以下策略:

<ip-filter action="allow | forbid">  
<address>address</address>  
<address-range from="address" to="address" />  
</ip-filter>

答案 1 :(得分:1)

您可以使用来自APIM中特定IP地址和/或地址范围的ip-filter policy filters允许/拒绝)呼叫。

政策声明

<ip-filter action="allow | forbid">  
    <address>address</address>  
    <address-range from="address" to="address" />  
</ip-filter>

您可以从此link获取逻辑应用程序的IP地址。然后您可以将APIM设置为:

<ip-filter action="allow">  
    <address>address1</address>  
    <address>address2</address> 
    <address>address3</address> 
</ip-filter> 

更新

  

但是我无法弄清楚API Management的IP地址。它与此链接中提供的IP地址列表不同。

使用逻辑应用程序调用APIM时,您会在输出中看到X-Forwarded-For属性,这是识别客户端原始IP地址的常用方法通过HTTP代理或负载平衡器。

这是我的测试快照。我的逻辑应用程序位置为eastasia,我的IP地址为13.75.94.173,位于East Asia Outbound IP of Logic App内。

enter image description here

答案 2 :(得分:0)

一个区域中的所有逻辑应用程序都使用相同范围的IP地址。为了支持逻辑应用程序直接通过HTTP,HTTP + Swagger和其他HTTP请求进行的调用,请在APIM中设置防火墙配置,以便根据逻辑应用程序所在的位置将这些出站地址包括在内:

Here是基于区域的Logic App IP地址列表。