如何防止直接访问Azure应用服务中托管的API

时间:2018-09-04 20:58:11

标签: azure-web-app-service azure-api-management

我有一个托管在Azure应用服务中的后端API。我想将Azure API管理用作此后端API的前端,并已在Azure中成功配置了该API。我已将API管理配置为在访问此后端API时使用OAuth,该客户端客户端通过Azure API管理端点访问API时可以使用OAuth,但是如何防止人们直接访问后端API端点,以便仅从API管理端点进行调用允许吗?

2 个答案:

答案 0 :(得分:2)

有几种不同级别的安全性选项:

  1. 共享机密-在APIM中设置具有特定值的特定标头,并在后端检查该值。
  2. IP过滤器-检查APIM IP作为后端的源。
  3. 客户端证书身份验证-将客户端证书身份验证上传到APIM,并将其附加到每个后端请求。在后端检查该证书。
  4. VNET-将APIM和您的后端放入同一个VNET中,并阻止从外部到后端的访问。

答案 1 :(得分:1)

我亲自使用IP限制取得了很大的成功。为APIM提供了静态IP,因此您可以在“根API”中设置IP限制,该限制仅允许APIM调用。如果直接调用根API,则会生成403。

如果您不希望根API发出403,则可以使用策略进行更改,也可以在APIM级别设置身份验证,并且在到达403之前会获得401。