如何保护Azure Logic App http请求端点

时间:2016-08-25 13:44:27

标签: azure azure-logic-apps

有没有办法保护Azure Logic App的HTTP端点?

例如,如果我使用我的Logic App的HTTP请求端点作为来自支付网关的webhook被触发,我想要仅限制某些静态IP地址来访问它并启用HTTPS。

我没有找到任何防火墙选项,例如Azure SQL中存在的IP基础限制选项。

3 个答案:

答案 0 :(得分:0)

您可以将手动触发器端点放在Azure API Management后面,使用"Restrict caller IPs" policy可以帮助您完成所需的操作。

答案 1 :(得分:0)

我可能错了,但默认情况下,所有应用服务(Web应用程序,逻辑应用程序,API应用程序)都可以公开访问,默认情况下,不会通过Azure资源配置启用IP过滤(意味着逻辑上的设置) APP)。我能想到的实现选项的方法是:

  1. 如果您有权访问Web.config,请使用元素将流量限制为仅限于一组特定地址(请参阅MSDN
  2. 考虑将Logic App置于API管理资源之后并实施IP限制策略(请参阅Azure API Management Documentation);我猜这可能不适用于逻辑应用程序,但无论如何都包括它
  3. 扩展到高级应用服务计划,将Logic App部署到应用服务环境,使您能够指定是否存在用于负载平衡请求的公共IP(VIP)或内部负载均衡器(将用于LAN和Azure之间的跨室连接;您还可以部署虚拟Web应用程序防火墙(WAF),这样您也可以放置显式IP过滤器
  4. 不了解您的要求,我更倾向于选项3,因为有documentation supporting that scenario(至少对于Web,移动和API应用程序 - 未提及逻辑应用程序)。否则,如果您无法修改web.config以包含过滤器,并且无法将API Management实例放在逻辑应用程序前面,我不确定您可能有哪些其他选项。

    希望这会有所帮助,如果你找到解决方案,我也有兴趣学习它。

答案 2 :(得分:0)

请参阅https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-securing-a-logic-app

限制传入的IP地址 除了共享访问签名之外,您可能希望限制仅从特定客户端调用逻辑应用程序。例如,如果您通过Azure API Management管理端点,则可以将逻辑应用程序限制为仅在请求来自API Management实例IP地址时接受请求。

可以在逻辑应用程序设置中配置此设置:

在Azure门户中,打开要添加IP地址限制的逻辑应用程序 单击“设置”下的“访问控制配置”菜单项 指定触发器要接受的IP地址范围列表

有效的IP范围采用192.168.1.1/255格式。如果您希望逻辑应用程序仅作为嵌套逻辑应用程序激活,请选择“仅其他逻辑应用程序”选项。此选项将空数组写入资源,这意味着只有来自服务本身(父逻辑应用程序)的调用才能成功激活。