azure-api-management - 如何保护后端 API 免受 Azure API 管理以外的调用
问题描述
我有一个托管在 Azure Web 应用程序上的 ASP.NET Core REST API 服务。我拥有它的源代码,如果需要我可以更改它。
我计划使用 Azure API 管理发布 REST API 服务。
我将 Azure AD 身份验证添加到 Azure API 管理前端。因此,API 管理前端是安全的。所有步骤都在这里描述。
到目前为止一切都很好。这是问题(或挑战?):
考虑到我的后端 REST API 服务托管在 Azure 上并且可以公开访问,我如何保护它免受 API 管理调用以外的请求调用?
后端服务如何知道传入呼叫的身份和 AAD 组声明并访问其声明?
指向代码示例或在线文档的链接会很有帮助。
更新
虽然与以下问题有一些重叠:
...这个问题的一部分仍然悬而未决:
后端服务如何知道传入呼叫的身份和 AAD 组声明并访问其声明?
解决方案
您可以在您的 WebApp 上启用静态 IP 限制,以仅允许来自您的 APIM 服务的 VIP 的传入流量(请记住,在某些特定情况下,VIP 可能会更改,并且需要再次更新白名单)。
客户端 ==> AAD==> VIP APIM 服务 <==>(允许 VIP APIM)Web 应用程序
https://docs.microsoft.com/en-us/azure/app-service/app-service-ip-restrictions
推荐阅读
- python - QIcon 的 PyQt5 “Ghost”出现在 QComboBox 的 QLineEdit 中
- c - Swift - 将转义闭包传递给 C API 回调
- ionic-framework - NFC Mifare Ultralight 伪造响应数据
- arrays - 如何在Excel中混合动态数组和常量数组
- c# - DataGrid 文本框 DataTrigger 条件未按预期工作
- python - python3:在“datetime.timedelta”和“str”的实例之间不支持
- r - 如何对混合效应模型进行空间自相关检验?
- angular - 什么决定了 Socket IO 的 Angular 区域
- r - 在 readR 中处理以行名作为第一个未命名的 col 的“R 类型”文本文件
- python - 浮动对象不可迭代?