微服务架构 | 7. 安全保护

前言

《Spring Microservices in Action》
《Spring Cloud Alibaba 微服务原理与实战》
《B站 尚硅谷 SpringCloud 框架开发教程 周阳》

安全性是暴露由许多微服务组成的公共访问 API 时要考虑的最重要的一个方面。Spring 有一些有趣的功能和框架,使我们的微服务安全配置更容易;


1. 安全保护基础知识

1.1 安全保护的三个层次

  • 确保正确的用户控制;
  • 确保运行服务的基础设施是打过补丁且是最新的;
  • 确保实现网络访问控制;

1.2 构建安全服务的考虑因素

  • 对所有服务通信使用 HTTPS /安全套接字层(Secure Sockets Layer,SSL):生产环境中微服务应该只通过 HTTPS 和 SSL 提供的加密通道进行通信;
  • 所有服务调用都应通过 API 网关:服务网关可以作为一个针对所有服务执行的策略执行点;
  • 将服务划分到公共 API 和私有 API:开发人员应该通过将服务分离到两个不同的区域(即公共区域和私有区域)来实现最小权限;
  • 通过封锁不需要的网络端口来限制微服务的攻击面:通过限制运行服务的操作系统上的人站端口和出站端口数来限制服务的攻击面;
构建安全服务的考虑因素.png

1.3 目前几种流行的注册中心对比

名称 厂商 特点(优点) 缺点
OAuth2


2. 基于 OAuth2 的安全认证

OAuth2 是一个基于令牌的安全验证和授权框架。他允许用户使用第三方验证服务进行验证。 如果用户成功进行了验证, 则会出示一个令牌,该令牌必须与每个请求一起发送。然后,验证服务可以对令牌进行确认;


3. 构建使用 JWT 令牌存储的 OAuth2 安全认证

JWT 为 OAuth2 令牌提供规范标准,并且可以自定义 JWT 令牌;



最后

\color{blue}{\rm\small{新人制作,如有错误,欢迎指出,感激不尽!}}

\color{blue}{\rm\small{欢迎关注我,并与我交流!}}

\color{blue}{\rm\small{如需转载,请标注出处!}}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容