我们有一个基于 API 的微服务系统,其中公共(public) API 网关(在 Azure 网站上运行的 .NET Nancy API)调用微服务 API(各种技术)来返回数据。
目前,微服务 API 要么是 Azure 网站,要么是 Azure Functions(HTTP 触发器),这意味着它们有一个公共(public)端点,HTTP 向公众公开。 (例如 https://my-microservice.azurewebsites.net )
有什么方法可以锁定它,以便只有 API 网关可以调用它吗?
我读过DIPR但这似乎是基于公共(public) IPv4 地址(我不认为我们可以获得 API 网关的静态 IP?)。
目前,我们使微服务 API 需要通过不记名 token 进行身份验证(使用 IdSrv 身份验证服务器),但理想情况下,我希望在网络级别保护 API,然后删除 token /IdSrv 依赖项。我们可以利用 VNET 吗?
其他人是如何解决这个问题的?例如,我们如何锁定 Azure 网站以防止公共(public)访问?
TIA。
最佳答案
您应该使用 Azure 虚拟网络并为入站/出站流量创建规则(对标准/高级应用服务计划有效):https://learn.microsoft.com/en-us/azure/app-service-web/web-sites-integrate-with-vnet
还有 Azure 应用服务环境,但它需要高级应用服务计划:https://learn.microsoft.com/en-us/azure/app-service-web/app-service-app-service-environment-intro
关于azure - 如何保护来自 WWW 的 Azure 网站/功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43970338/