Azure 应用服务:如何限制除一个 IP 地址之外的所有内容

Posted

技术标签:

【中文标题】Azure 应用服务:如何限制除一个 IP 地址之外的所有内容【英文标题】:Azure App Services: How to restrict everything but one IP address 【发布时间】:2021-08-30 15:20:42 【问题描述】:

我在 Azure 应用服务中托管了一个 Web API,我想使用限制工具来限制存在的每个 IP 的流量,但我们要实际调用此服务的 IP 地址除外。

我应该如何进行? This answer展示了屏蔽单个IP的正确方法,甚至提到可以屏蔽一个范围的IP,但是我真的不知道如何屏蔽一个范围,如果没有两个输入框可以输入范围。

你能帮帮我吗?谢谢!

【问题讨论】:

【参考方案1】:

所以,在深入挖掘之后,我找到了方法。问题是 ip 地址输入框需要基于 CIDR 表示法的 ip 或 ips 范围。在 CDR 表示法中,要阻止所有内容,您将编写:0.0.0.0/0

如果你不懂 CIDR 表示法,可以使用this builder.

编辑:

只允许一个 IP 地址,就足以创建一个只允许那个 IP 地址的规则。这将自动阻止来自其他 IP 地址的所有呼叫。

【讨论】:

所以您为一个地址添加了允许规则,然后添加了 0.0.0.0/0 的拒绝规则? 据我了解,您创建了一个使用 0.0.0.0/0 作为 CIDR(IP 地址)的允许规则。这将从所有 IP 地址创建一个阻止规则,并且您无法将 0.0.0.0 作为 IP,因为它是保留的【参考方案2】:

最好使用 Azure CLI,而不是门户来处理。

这是一个允许示例

az webapp config access-restriction add -g ResourceGroup -n AppName --rule-name developers --action Allow --ip-address 192.168.4.1/32 --priority 200

这是一个拒绝示例

az webapp config access-restriction add -g ResourceGroup -n AppName --rule-name developers --action Deny --ip-address 0.0.0.0/0 --priority 500

https://docs.microsoft.com/en-us/cli/azure/webapp/config/access-restriction?view=azure-cli-latest

【讨论】:

以上是关于Azure 应用服务:如何限制除一个 IP 地址之外的所有内容的主要内容,如果未能解决你的问题,请参考以下文章

Azure Bot Service 的 Teams 通道的 IP 地址限制

Azure 网站 IP 限制

应用之间的 Azure Web 应用访问限制

Microsoft Azure系列之六 如何为Azure 云服务分配保留IP地址

如何通过powershell或C#使用本地IP远程更新azure SQL防火墙

Azure API 管理在 API 终结点级别限制多个调用方 IP 地址 API