带有内部后端 API 的 Azure API 管理

问题描述 投票:0回答:1

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

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

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

如果是这样,我的上述要求是否还有其他选项可以使用,例如消费 SKU? (公开到互联网但锁定为仅允许 API 管理流量?)

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

感谢您能给我的任何帮助!

azure oauth-2.0 azure-api-management apim
1个回答
0
投票

说的对。目前,要部署到 VNET 中,您需要使用 Azure APIM 高级层。

如果可以接受将虚拟机中的 API 暴露给互联网,您可以设置 NSG 规则以允许来自 APIM 的流量访问虚拟机。

但是由于 Consumption Plan 没有静态 IP 地址,您必须至少选择 Basic Tier。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.