如何保护后端API免受Azure API Management以外的调用

时间:2018-11-13 00:00:43

标签: azure-api-management

我在Azure Web App上托管了ASP.NET Core REST API服务。我拥有其源代码,可以根据需要进行更改。

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

我正在将Azure AD身份验证添加到Azure API管理前端。因此,API管理前端是安全的。 All the steps are is described here

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

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

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

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

更新

以下问题有些重叠:

How to prevent direct access to API hosted in Azure app service

...这个问题的一部分仍然很突出:

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

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:-1)

您可以使用CORS定义哪个域可以访问您的API 请参阅文档=> https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-2.1