Spring Cloud微服务安全实战_4-1_微服务网关安全_概述&微服务安全面临的挑战
第四章 网关安全
这一章从简单的API的场景过渡到复杂的微服务的场景
4.1 概述
微服务安全面临的挑战:介绍中小企业的一个微服务架构,相比第三章的单体应用的简单的API所面临的哪些挑战
OAuth2协议与微服务安全:介绍OAuth2中的各个角色,以及相互之间的关系,介绍具体的代码实现
微服务网关安全:搭建网关,安全中心,两个微服务,怎么将安全从微服务中解耦出来放到网关上,与OAuth协议联系起来解决微服务安全面临的新的挑战。
4.2 微服务安全面临的挑战

更多的入口点,更高的安全风险
单体应用,入口点只有一个,有一个Filter/Interceptor 就能控制所有的安全风险。
微服务环境下,业务逻辑不再是在一个单一的进程里,分散在很多的进程里。如图有很多的tomcat,每个tomcat都有自己的入口点,所以要防范的攻击面要比原来大得多,风险也高得多。
性能问题
单体应用下,所有的业务逻辑 和 安全的信息 都在一个进程里,要验一下用户身份、权限都是在一个进程里完成的。
微服务环境下,比如在访问一个订单的时候,用户的信息,权限信息,在订单的tomcat 是拿不到的,需要一个远程调用,调一下安全中心认证中心去或者这些信息。每一个请求,不管是外部进来的,还是服务之间的调用,需要安 全校验的时候,这个远程连接所带来的延迟,有可能导致服务产生性能的问题,尤其是对性能极为敏感的服务。
服务间通讯安全
单体应用下,如订单调库存,订单调物流,都在一个tomcat里,不需要考虑任何安全问题。
微服务环境下,订单调物流,需要跨网络,出我的进程,进到另一个进程,需要保证这个通讯也是安全的。
跨多个微服务的请求难以追踪
对于一个服务来说,可观测性是一个很重要的指标,可观测性包含了三个方面的意义:
1、Log 日志,记录了系统发生了什么。 在单体应用里,记录日志很简单,直接在代码里写就可以了。分布式的应用里,每一个进程会单独去记一些日志。比如访问订单请求,订单又去调库存,调价格,日志是分散来记的,日志自己记了日志,库存、价格也是自个记。这时候就需要一个机制把所有的日志串起来。
2、metrics 指标监控:在一个时间维度上聚合起来的一个数字。当你谈论metrics 的时候,一定要有两个关键要素,第一个就是时间窗口,第二个是一个数字。比如说流量,我们会说在1秒钟有10个请求,一分钟有200个请求,过去三小时下了50个单,我的成交额一天是100万。谈论metrics ,有两个要素,时间窗口,如每秒钟,过去三小时,每一天;第二个就是个数字,30个请求,200个请求,50个订单,100万成交额。这两个聚合起来形成一个metrics 。最典型的metrics 就是流量,每秒钟有多少个请求,在单体应用里很容易就能控制住流量。但是在分布式应用里,可能我的订单能承受的并发量是500,物流能承受的并发量是700,库存能承受的并发量是900。这个时候就需要有一个机制来控制整个的服务的流控,而不是单一的去控制某一个微服务的流控,这也是要解决的一个问题。
3,Tracing ,日志的聚合是一种Tracing,另外一种就是买吉克斯的Tracing,当一个请求进来,在订单服务花了多长时间,在库存服务花了多长时间,在价格服务花了多长时间,最后一眼能看见整个服务的瓶颈在哪里。
容器化部署导致的证书和访问控制问题
~~
如何在微服务间共享用户的登录状态
多语言架构要求每个团队都要有一定的安全经验
Spring Cloud微服务安全实战_4-1_微服务网关安全_概述&微服务安全面临的挑战的更多相关文章
- 新书上线:《Spring Boot+Spring Cloud+Vue+Element项目实战:手把手教你开发权限管理系统》,欢迎大家买回去垫椅子垫桌脚
新书上线 大家好,笔者的新书<Spring Boot+Spring Cloud+Vue+Element项目实战:手把手教你开发权限管理系统>已上线,此书内容充实.材质优良,乃家中必备垫桌脚 ...
- Spring Cloud Gateway限流实战
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Spring Cloud Sleuth超详细实战
为什么需要Spring Cloud Sleuth 微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元.由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去 ...
- spring cloud 入门系列六:使用Zuul 实现API网关服务
通过前面几次的分享,我们了解了微服务架构的几个核心设施,通过这些组件我们可以搭建简单的微服务架构系统.比如通过Spring Cloud Eureka搭建高可用的服务注册中心并实现服务的注册和发现: 通 ...
- Spring Cloud 入门教程(六): 用声明式REST客户端Feign调用远端HTTP服务
首先简单解释一下什么是声明式实现? 要做一件事, 需要知道三个要素,where, what, how.即在哪里( where)用什么办法(how)做什么(what).什么时候做(when)我们纳入ho ...
- Spring Cloud Gateway自定义过滤器实战(观测断路器状态变化)
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Spring Cloud Eureka 自我保护机制实战分析
前些天栈长在Java技术栈微信公众号分享过 Spring Cloud Eureka 的系列文章: Spring Cloud Eureka 自我保护机制 Spring Cloud Eureka 常用配置 ...
- Spring Cloud Alibaba Nacos Discovery 实战
Nacos 作为服务注册中心,可以快速简单的将服务自动注册到 Nacos 服务端,并且能够动态无感知的刷新某个服务实例的服务列表,为分布式系统提供服务注册与发现功能 一.创建服务 1.创建项目 pom ...
- Spring Cloud Alibaba Nacos Config 实战
Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持.使用 Spring Cloud Alibaba Nacos Config,您可 ...
随机推荐
- Paper | Dynamic Residual Dense Network for Image Denoising
目录 1. 故事 2. 动机 3. 做法 3.1 DRDB 3.2 训练方法 4. 实验 发表于2019 Sensors.这篇文章的思想可能来源于2018 ECCV的SkipNet[11]. 没开源, ...
- 【SpringCloud之pigx框架学习之路 】1.基础环境安装
[SpringCloud之pigx框架学习之路 ]1.基础环境安装 [SpringCloud之pigx框架学习之路 ]2.部署环境 1.Cmder.exe安装 (1) windows常用命令行工具 下 ...
- 小小见解之python循环依赖
a.py from b import b print '---------this is module a.py----------' def a(): print "hello, a&qu ...
- js Iframe与父级页面通信及IE9-兼容性
一. postMessage window.postMessage()方法安全地启用Window对象之间的跨源通信:例如,在页面和它产生的弹出窗口之间,或者在页面和嵌入其中的iframe之间. 二.语 ...
- C# 三元表达式
一.背景 因编程的基础差,因此最近开始巩固学习C#基础,后期把自己学习的东西,总结相应文章中,有不足处请大家多多指教. 二.语法 表达式1?表达式2:表达式3 描述: 表达式1一般为一个关系表达式. ...
- CSS3特效之转化(transform)和过渡(transition)
CSS3特效之转化(transform)和过渡(transition) 在对动画深入之前,我们需要先了解它的一些特性,CSS3的转化(transform)和过渡(transition).有人可能会有疑 ...
- 洛谷 p1541乌龟棋
洛谷 p1541乌龟棋 题目背景 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物. 题目描述 乌龟棋的棋盘是一行NN个格子,每个格子上一个分数(非负整数).棋盘第1格是唯一的起点,第NN格是终点,游戏 ...
- CTF必备技能丨Linux Pwn入门教程——利用漏洞获取libc
Linux Pwn入门教程系列分享如约而至,本套课程是作者依据i春秋Pwn入门课程中的技术分类,并结合近几年赛事中出现的题目和文章整理出一份相对完整的Linux Pwn教程. 教程仅针对i386/am ...
- Qt导航栏 QListWidget
使用Qt Designer 使用QListWidget控件 设置样式 QListWidget::item { min-height: 30px; /*设置item高度*/ border-style: ...
- Android培训准备资料之UI一些相似控件和控件一些相似属性之间的区别
这一篇博客主要收集五大布局中的一些相似控件和控件一些相似属性之间的区别 ImageView ImageButton Button 三者有啥区别? (1)Button继承自TextView,ImageV ...