繁体   English   中英

使用Spring Boot的微服务中的安全问题

[英]Security issue in microservices with Spring Boot

我在春季启动(和一般)的微服务中误解了安全性。 我想使用Spring框架和微服务构建一个项目,但在架构规划中我陷入了困境。 微服务中的安全性应该如何? 在我看来,在所有项目中应该是一个组件,所有请求都抛出组件并传播到其他组件。 我可以找到它是Spring Cloud Zuul,它是微服务中的api网关,我有想法制作一个响应网关的项目,并在组件中增加安全性。 我的意思是它将类似于包含Spring Cloud Zuul,Spring Security,Spring Data JPA依赖项的项目。 您认为提供安全性的好方法怎么样? 有可能建立这样的东西吗?

在我参与的项目中,我们使用了几个不同级别的安全性:

  • Zuul的个别路线安全。
  • 每个内部服务的安全性

以下是我们的Spring Cloud项目中使用的安全模型的流程图,

  1. 当Zuul收到请求时,它会检查请求是否存在路由。
  2. 如果存在路由,则根据自定义配置检查路由是否受到保护。
  3. 如果路由是安全的,请对请求进行身份验证。
  4. 一旦在Zuul对请求进行了身份验证,Zuul将再次检查是否根据配置保护要路由请求的内部服务。
  5. 如果内部服务受到保护,则在将服务路由到内部服务之前,根据用户凭据(存储在自定义配置中)创建新的身份验证标头。
  6. 一旦内部服务收到来自Zuul的请求,它就会检查是否需要对请求进行身份验证。
  7. 经过身份验证后,处理请求并将响应发回。

我认为这里的答案可能会对您有所帮助,他们正在谈论使用防火墙来限制来自出站IP的访问,并且只允许zuul网关访问所有微服务。

不允许直接调用微服务。 仅允许通过API网关

我想你可以考虑使用OAuth。 它使用JWT(Jason web令牌),这是一个与所有请求/响应一起传递的令牌。 您可以在此处找到详细信息: https//nordicapis.com/api-security-oauth-openid-connect-depth/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM