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

问题描述 投票:2回答:2

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

azure-web-app-service azure-api-management
2个回答
2
投票

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

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

1
投票

我个人使用IP限制取得了巨大成功。 APIM具有静态IP,因此您可以在“根API”中设置IP限制,仅允许APIM调用。如果直接调用根API,则结果为403。

如果您不希望403来自根API,您可以使用策略来更改它,或者您可以在APIM级别设置身份验证,并且在达到403之前您将获得401。

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