当前位置: 首页 > 知识库问答 >
问题:

微服务安全Spring启动建议

贺宝
2023-03-14

我想创建一个基于微服务的 spring boot 项目。我使用 Zuul 实现了一个网关,现在不确定如何使用什么来实现微服务之间的安全性。我需要微服务在用户收到请求时了解用户的权限,它们也可能相互通信,而不仅仅是网关。我正在使用 Spring boot 2.5.7 ,但似乎 oauth2 已被弃用,我也阅读了有关 spring 授权服务器的信息,但它是实验性的。我应该使用什么来确保安全性,如果您有一些教程,那就太好了。

另外,这将有助于一个免费的解决方案,即使这意味着更多的实施。

谢谢你。

共有2个答案

司马高韵
2023-03-14

如果您只在网关层进行安全保护,会怎么样?让你的微服务没有安全保障?不确定是否符合您的要求。

使用AWS gateway cognito检查这个示例,同样的想法:

https://AWS . Amazon . com/blogs/startups/how-stacs-uses-cogn ITO-and-API-gateway/

毛缪文
2023-03-14

一些精度:

Spring Security OAuth2已被弃用,因为OAuth2特性(授权服务器除外)已合并到Spring Security核心中。关于spring授权服务器,该项目不再是实验性的,请参见发布说明:https://github.com/spring-projects/spring-authorization-server您可以将其用作oauth2提供者。

这意味着,您可以使用任何OAuth2提供商(Google、Github、Keycloak等)使用spring security core来保护您的微服务...).选择权在你,如今你的需求如此普遍,找到解决方案并不困难。

 类似资料:
  • 我有一个微服务-A,它从另一个微服务-B获得令牌作为标头。现在我想在微服务-A中实现swagger2。问题是每个请求都流经微服务-B。因此swagger-ui在本地as中引发错误 它不能获得微服务-B试图获取的那些报头参数。

  • 我正在尝试学习并使用Spring Cloud创建一个微服务。我正在使用Spring mvc和Spring Boot进行开发。我为Eureka服务器和Zuul客户端添加了单独的Spring Boot应用程序。我现在有三个Spring引导应用程序。一台Sureka服务器,一台用于Zuul路由,第三台用于我的微服务应用程序。我运行Eureka服务器,发现微服务和Zuul在Eureka服务器UI中正常运行

  • 我有两个微服务,例如A和B。微服务B有剩余的enpoint,必须只能从微服务A访问。如何限制微服务之间的访问?如果可能的话,最佳做法是什么? 我正在使用Spring Cloud Security(oAuth2, jwt)。

  • 我想使用Graylog/RabbitMQ来记录我的spring boot微服务。据我所知,我必须将日志发送到RabbitMQ,并将其与Graylog集成。我想知道工作流以及如何实现它,比如如何将日志发送到RabbitMQ,是否需要使用任何其他日志框架。

  • 我正在研究云应用程序的身份验证服务部分,我创建了以下安全配置类。 我不太清楚configure(HttpSecurity http)方法的链方法。身份验证服务将只接收“登录”和“注册”请求。 由于未授权任何内容,是否应删除authorizeRequests()方法? 我不确定anyRequest().Authenticated()部分是否真的需要?

  • 2020-05-09 17:28:38.521信息21308---[restartedMain]O.A.C.C.C.[Tomcat].[localhost].[/]:初始化Spring embedded WebApplicationContext 2020-05-09 17:28:38.527信息21308--[restartedMain]O.s.Web.context.ContextLoader