我目前在 Azure 中有一个应用服务,我可以向其中添加访问限制,该服务仅允许来自 Microsoft 服务标记内定义的 IP 地址的请求(在本例中为 AzureActiveDirectory):
我将此应用程序服务中的 API 添加到 API 管理中,因此不会向应用程序服务发出直接请求,一切都通过 API 管理运行。我在 API 管理的访问限制文档中看到了我可以使用的 ip 过滤策略,它还允许定义 IP 范围。这是限制通过 API 管理服务的流量的唯一方法,还是有办法像应用服务一样定义服务标签?
对此的后续问题:我已经获得了所有服务标签的 IP 范围列表(可在 Microsoft 文档中找到 here)。我可以在 ip-filter 中定义 IP 地址,例如 0.0.0.0/32(使用零作为格式示例)吗?如果是这样,Microsoft 会定期更新其服务标签的 IP 范围吗?
据我所知, 您无法更改为每个 Azure 资源提供的服务标签数据中的 IP 范围,
但是您可以通过选择源/目标作为 IP 地址,以 CIDR 表示法指定 IP 范围,也可以用逗号分隔多个范围:
您可以通过向每个 IP CIDR 范围添加新规则来添加多个 IP 地址范围,并且可以根据需要更改或拒绝,还可以指定所有规则的优先级。
如果您阅读以下两句话,您将看到,对于开发人员、基本、标准和高级层,该服务在服务生命周期内具有静态 IP 地址,这意味着您可以将该应用内服务列入白名单。
另一方面,对于具有一定 IP 范围的 Consumer、Basic v2 和 Standard v2,您可以将服务标签添加到白名单。
在 API 管理的开发人员、基本、标准和高级层中,一个或多个公共 IP 地址 (VIP) 和私有 VIP 地址(如果在内部 VNet 模式中配置)在服务的生命周期内是静态的,具有以下内容例外:API 管理服务被删除然后重新创建。
如果您的 API 管理实例是在共享基础设施上运行的服务层中创建的,则它没有专用 IP 地址。目前,以下服务层中的实例在共享基础设施上运行,并且没有确定性 IP 地址:Consumation、Basic v2、Standard v2。