首页 > 解决方案 > 如何保护后端 API 免受 Azure API 管理以外的调用

问题描述

我有一个托管在 Azure Web 应用程序上的 ASP.NET Core REST API 服务。我拥有它的源代码,如果需要我可以更改它。

我计划使用 Azure API 管理发布 REST API 服务。

我将 Azure AD 身份验证添加到 Azure API 管理前端。因此,API 管理前端是安全的。所有步骤都在这里描述

到目前为止一切都很好。这是问题(或挑战?):

考虑到我的后端 REST API 服务托管在 Azure 上并且可以公开访问,我如何保护它免受 API 管理调用以外的请求调用?

后端服务如何知道传入呼叫的​​身份和 AAD 组声明并访问其声明?

指向代码示例或在线文档的链接会很有帮助。

更新

虽然与以下问题有一些重叠:

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

...这个问题的一部分仍然悬而未决:

后端服务如何知道传入呼叫的​​身份和 AAD 组声明并访问其声明?

标签: azure-api-management

解决方案


您可以在您的 WebApp 上启用静态 IP 限制,以仅允许来自您的 APIM 服务的 VIP 的传入流量(请记住,在某些特定情况下,VIP 可能会更改,并且需要再次更新白名单)。

客户端 ==> AAD==> VIP APIM 服务 <==>(允许 VIP APIM)Web 应用程序

https://docs.microsoft.com/en-us/azure/app-service/app-service-ip-restrictions


推荐阅读