【发布时间】:2018-02-15 17:11:00
【问题描述】:
我正在 Azure 中部署 RESTful API,并使用 Azure API Manager 保护它们。但是,我无法弄清楚如何限制对实际 API 的调用以阻止绕过 API 管理器的请求。有没有办法在 web.config 或其他东西上限制 IP、域名……在 .net web api 上?
【问题讨论】:
标签: rest azure azure-web-app-service
我正在 Azure 中部署 RESTful API,并使用 Azure API Manager 保护它们。但是,我无法弄清楚如何限制对实际 API 的调用以阻止绕过 API 管理器的请求。有没有办法在 web.config 或其他东西上限制 IP、域名……在 .net web api 上?
【问题讨论】:
标签: rest azure azure-web-app-service
您可以在 c# 代码中将 IP 列入白名单。检查以下链接以获取代码更改, https://weblogs.asp.net/senthil/restrict-ip-address-in-asp-net-web-api
您可以在概览部分获取 APIM 的静态 IP 地址。但你必须考虑以下几点,
在 API 管理的所有层级中,API 管理租户的公共 IP 地址 (VIP) 在租户的生命周期内都是静态的,但有一些例外。在这些情况下 IP 地址会发生变化:
对于多区域部署,如果区域被腾出然后恢复,区域地址会发生变化(您只能在高级层使用多区域部署)。
为多区域部署配置的高级租户每个区域分配一个公共 IP 地址。
您可以在 Azure 门户的租户页面上获取您的 IP 地址(或多区域部署中的地址)。
【讨论】:
是的,您可以通过 API 管理门户配置呼叫限制和配额策略,包括入站和出站策略。下面是策略模板,你可以选择你想要的。此处限制调用方 IP 将满足您的要求。
详细配置请查看this article并按照步骤操作。
【讨论】: