这一章来讲一下,微服务之间的通讯安全. 当前这个架构还存在的问题 在网关上做限流还是有一些问题的.例如我的订单服务限流是100,库存服务限流也是100.但是我的订单服务会调用我的库存服务.那么在网关这,给订单转100个请求,库存转100个请求,最后订单又调了库存,库存会同时受到200个请求.这时候库存服务可能就挂掉了. 这是在网关这里做限流,可能会出现的一些问题. 第二个问题就是身份认证. 效率低,在网关上每一个请求都要去认证服务器验令牌.这样就会导致多一次网络请求的开销.同时我的认证服务器压力…
Spring cloud微服务安全实战 https://coding.imooc.com/class/chapter/379.html#Anchor Spring Cloud微服务安全实战-1-1 课程导学 Spring Cloud微服务安全实战- 2-1 环境安装 Spring cloud微服务安全实战-3-1 API安全 常见的安全机制 Spring cloud微服务安全实战-3-2 第一个API及注入攻击防护 Spring cloud微服务安全实战-3-3 API安全机制之流控 Sprin…
很少在周末发文,还是由于昨晚刚收到实体书,还是耐不住性子马上发文了. 一年前,耗时半年多的时间,写出了我的第一本书<Spring Cloud微服务-全栈技术与案例解析>. 时至今日,一年的间隔,今天第二本<Spring Cloud微服务 入门 实战与进阶>也出版了. 去年出版的<Spring Cloud微服务:全栈技术与案例解析>一书,虽然写的不好,但是得到了大家的支持以及反馈,基于大家的反馈,重新进行了更正和改进. 基于比较稳定的 Spring Cloud Finch…
一.前言: 一直以来对服务安全都很感兴趣,所以就学习.这是学习immoc的 jojo老师的 <Spring Cloud微服务安全实战课程>的笔记,讲的很好. 课程简介:  二.最终形成的架构图  三.章节目录 第1章 课程导学 对整个课程的内容做一个简要的介绍,包括章节的安排,使用的主要技术栈,实战案例的介绍以及前置知识的介绍等内容. 1-1 课程导学 第2章 环境搭建 开发工具的介绍及安装,介绍项目代码结构并搭建,基本的依赖和参数设置. 2-1 环境安装 第3章 API安全 从简单的API场…
上一篇搭建了一个OAuth2认证服务器,可以生成token,这篇来改造下之前的订单微服务,使其能够认这个token令牌. 本篇针对订单服务要做三件事: 1,要让他知道自己是资源服务器,他知道这件事后,才会在前边加一个过滤器去验令牌(配置@EnableResourceServer 配置类) 2,要让他知道自己是什么资源服务器(配置资源服务器ID) 3,配置去哪里验令牌,怎么验令牌,要带什么信息去验 (配置@EnableWebSecurity 配置TokenServices,配置Authentica…
实现一个场景: 订单微服务: POM: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apac…
课程资料获取链接:点击这里 采用流行的微服务架构开发,应用程序访问安全将会面临更多更复杂的挑战,尤其是开发者最关心的三大问题:认证授权.可用性.可视化.本课程从简单的API安全入手,过渡到复杂的微服务场景,解决上述三大问题痛点,并结合实际给出相应解决方案.帮助大家形成对安全问题的系统性思考,实战开发一套可在中小公司落地的完整的安全方案. 教程目标明细: 技术要点全解析,覆盖微服务安全方方面面 适合人群 希望对微服务安全形成系统认识搭建一套完整落地方案的开发者 技术储备要求 Java Web开发基…
阿里2018年开源的. 简单来说就是干三件事,最终的结果就是保证你的服务可用,不会崩掉.保证服务高可用. 流控 先从最简单的场景来入手. 1.引用一个依赖, 2,声明一个资源. 3.声明一个规则 注意依赖是加在你的微服务上的,每一个微服务都要加一个sentinel的依赖. maven上搜索 声明资源 声明资源 就是你要保护的程序,或者是你要进行流控的那段逻辑. 最简单的方式就是写一段代码. Entry注意是alibaba.csp包下的 现在在创建订单的,所以这里起的名字就叫做createOrde…
授权,权限的控制 令牌里的scope包含fly就有权限访问.根据Oauth的scope来做权限控制, 要让@PreAuthorize生效,就要在启动类里面写一个注解. 里面有一个属性叫做,就是在方法的执行之后可以用注解来插入一些方法安全的相关的一些表达式. 这样orderController里面的注解就会生效了 启动测试 认证服务器. 网关 orderAPI 申请一个新的令牌 复制生成的这个令牌. 去调用创建订单的方法 收到一额403 就是不允许访问. 说明我们这个注解是生效的,因为我们发出的令…
首先来解决认证的问题. 1.效率低,每次认证都要去认证服务器调一次服务. 2.传递用户身份,在请求头里面, 3.服务之间传递请求头比较麻烦. jwt令牌. spring提供了工具,帮你在微服务之间传递令牌.让你不用去写额外的代码 服务器端的改造 看一下认证服务器配置的这个类.这里有个tokenStore,就是令牌的存储器.现在用的是jdbc的TokenStore,令牌是存在数据库里的 我们new  一个jwtTokenStore它 需要一个参数jwtTokenEnhancer 需要set一个ke…