我有两个微服务,例如A和B。微服务B具有其余的观点,即只能从微服务A进行访问。
如何限制微服务之间的访问?如果可能的话,最佳实践是什么?
我正在使用Spring Cloud Security(oauth2,jwt)。
最佳答案
这是一个网络问题。只需在网络级别限制对微服务B的访问即可。例如,使用Docker即可轻松做到这一点。您只是不会公开公开微服务B的相关端口,而是将其公开在特定网络上,然后让微服务加入该网络。
如果您想增加额外的安全性,则可以使用公钥/私钥。或者,为应用程序A生成JWT并在微服务B中对其进行验证会更简单,但是当您添加更多微服务时,这将带来更多的管理开销。
另外,您应该研究可以为您处理API访问的API网关