APIM配置双自定义域名后内部API可公网访问的问题咨询
APIM 内网API公网可访问问题解答
该行为是否正常?
这是正常的默认行为。Azure APIM在配置多个自定义域名后,不会自动为API做域名级别的访问隔离,所有域名默认关联实例内的全部API资源,所以原本仅打算内网访问的API能通过公网域名访问是预期状态。
如何从根源上实现API仅内网域名访问(无需策略拦截)
核心思路是通过自定义域名与API产品的绑定关联,让不同域名仅能访问指定产品内的API,具体操作步骤如下:
- 创建内网专属API产品:在APIM的「产品」界面新建一个产品(例如
Internal-Only-APIs),将需要限制内网访问的API全部添加到这个产品中,同时确保这些API不加入任何面向公网的产品。 - 配置公网域名的产品访问权限:进入「自定义域名」页面,找到
api.domain.com的配置,在「产品访问」设置里只勾选公网业务对应的产品,取消勾选内网专属产品。 - 配置内网域名的产品访问权限:同样在「自定义域名」页面,找到
api-internal.domain.com的配置,在「产品访问」设置里仅勾选内网专属的Internal-Only-APIs产品。 - 验证效果:此时用公网域名访问内网API会返回「API不可用」或「无权访问」的错误,而内网域名可正常访问目标API,从APIM层面实现了根源隔离。
额外说明:如果你的APIM部署在内部VNet模式下,还可以配合VNet的网络安全组规则进一步加固内网访问的安全性,但上述域名-产品绑定的方式已经能满足无需策略拦截的核心需求。
内容的提问来源于stack exchange,提问作者Emanuele
相关产品推荐
相关产品推荐

