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 地址限制
Microsoft Azure系列之六 如何为Azure 云服务分配保留IP地址