我们有一个基于API的微服务系统,其中公共API网关(在Azure网站上运行的.NET Nancy API)调用microserviced API(各种技术)来返回数据。
目前,microserviced API是Azure网站或Azure功能(HTTP触发器),因此这意味着他们有一个公共端点,HTTP公开。 (例如https://my-microservice.azurewebsites.net)
有没有办法将其锁定,以便只有API网关可以调用它?
我已经阅读了DIPR,但这似乎是基于公共IPv4地址(我认为我们不能为API网关获取静态IP?)。
目前我们要求微服务API需要通过承载令牌进行身份验证(使用IdSrv auth服务器),但理想情况下我想在网络级别保护API,然后删除令牌/ IdSrv依赖关系。我们可以利用VNET吗?
其他人如何解决这个问题?如何,我们如何从公共访问中锁定Azure网站?
TIA。
答案 0 :(得分:2)
您应该使用Azure虚拟网络并为入站/出站流量创建规则(对标准/高级应用服务计划有效):https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-integrate-with-vnet
还有Azure App Service环境,但它需要高级应用服务计划:https://docs.microsoft.com/en-us/azure/app-service-web/app-service-app-service-environment-intro