Azure API管理,内部后端API



我有一个内部服务,部署在虚拟网络中的Windows虚拟机上,无法访问互联网。

这个服务有API端点,我想向我们的客户公开,服务本身不提供任何身份验证,所以我正在考虑使用Azure API管理坐在它前面,在将请求转发到服务之前处理oauth2身份验证。

不过,我对API管理提供的不同SKU有点困惑,我认为在不将服务暴露于互联网的情况下,API管理能够将流量路由到它的唯一方法是将API管理部署在VNET上(这将需要昂贵的高级SKU?(。

如果是,对于我的上述要求,有没有其他选项可以使用,比如消费SKU?(暴露于互联网,但锁定仅允许API管理流量?(

不确定这是否重要,但计划在APIM前面也有一个应用程序网关+WAF。

谢谢你能给我的任何帮助!

这是正确的。目前,要部署到VNET中,您需要使用Azure APIM高级层。

如果可以将虚拟机中的API公开到internet,则可以设置NSG规则以允许来自APIM的流量访问虚拟机。

但由于消费计划没有静态IP地址,您必须至少选择基本层。

此外,请注意,从VM到APIM的流量将通过公共互联网,因此,请确保它是加密的(HTTPS(,甚至可能利用相互证书身份验证。

您也可以在这里使用其他服务,而不是像使用应用程序网关或Azure防火墙那样直接公开VM,或者使用部署在VNET中并公开的反向代理,如Nginx。该服务可以具有SSL终止和相互证书身份验证等方面,使您能够将这些要求与API解耦。

最新更新