我有应用服务,它是用Node.js编写的经典Web应用。假设我的应用有 2 个终结点:/SecuredEndpoint和/ClassicEndpoint。/SecuredEndpoint应该是安全的,这意味着只允许某些 IP 地址访问它。另一方面,ClassicEndpoint对整个互联网都是公开的。
我发现在 Azure 中,我可以为某些 IP 地址指定对整个服务的访问限制(我可以根据 IP 地址阻止/允许访问(。但我不想保护整个应用程序,而只想保护某些端点。
有人可以帮助我如何在 Azure 中实现这一目标吗?
限制某些 IP 地址就是限制网络层中的 ACL。访问限制实际上是网络 ACL。但是,它是在应用服务前端角色中实现的,这些角色位于运行代码的辅助角色主机的上游。在这种情况下,可以考虑选择为每个终结点使用两个应用服务。可以在 Azure 应用服务中读取支持的安全性。
或者,您可以在特殊代码中允许某些 IP 地址。谷歌一些示例的此类功能。它可能像这个 SO 线程。对于 Windows 上的应用服务,还可以通过配置 web.config 来动态限制 IP 地址。有关详细信息,请参阅动态 IP 安全性。
此外,如果有兴趣使用 VNet 和服务终结点保护后端应用服务 Web 应用,可以查看此博客。