我误解了春季启动(和一般)微服务的安全性。我想使用Spring框架和微服务构建一个项目,但在架构规划中我陷入了困境。微服务中的安全性应该如何?在我看来,在所有项目中应该是一个组件,所有请求都抛出组件并传播到其他组件。我可以找到它的Spring Cloud Zuul,它是微服务中的api网关,我有意想做一个响应网关的项目,并在组件中增加安全性。我的意思是它将类似于包含Spring Cloud Zuul,Spring Security,Spring Data JPA依赖项的项目。您认为提供安全性的好方法怎么样?是否有可能建立类似的东西?
答案 0 :(得分:6)
在我参与的项目中,我们使用了几个不同级别的安全性:
以下是我们的Spring Cloud项目中使用的安全模型的流程图
答案 1 :(得分:2)
我认为这里的答案可能对您有所帮助,他们正在谈论使用防火墙来限制来自出站IP的访问,并且只允许zuul网关访问所有微服务。
Don't allow direct calls to Microservices. Only allow through API Gateway
答案 2 :(得分:1)
我认为您可以考虑使用OAuth。 它使用JWT(Jason web令牌),这是一个与所有请求/响应一起传递的令牌。 您可以在此处找到详细信息:https://nordicapis.com/api-security-oauth-openid-connect-depth/