一、前言:

  一直以来对服务安全都很感兴趣,所以就学习。这是学习immoc的 jojo老师的 《Spring Cloud微服务安全实战课程》的笔记,讲的很好。

课程简介:

 二、最终形成的架构图

 三、章节目录

第1章 课程导学

  对整个课程的内容做一个简要的介绍,包括章节的安排,使用的主要技术栈,实战案例的介绍以及前置知识的介绍等内容。

  1-1 课程导学

第2章 环境搭建

  开发工具的介绍及安装,介绍项目代码结构并搭建,基本的依赖和参数设置。

  2-1 环境安装

第3章 API安全

  从简单的API场景入手,讲述API安全相关的知识。首先我们会介绍要保证一个API安全都需要考虑哪些问题,然后我们针对这些问题介绍常见的安全机制,我们会针对每种问题和安全机制编写相应的代码,让大家对这些问题和安全机制有一个初步的认识。

  3-1 API安全 常见的安全机制
  3-2 第一个API及注入攻击防护
  3-3 API安全机制之流控
  3-4 API安全机制之认证(1)
  3-5 API安全机制之认证(2)
  3-6 API安全机制之数据校验
  3-7 API安全机制之数据加密
  3-8 API安全机制之Https
  3-9 API安全机制之审计日志
  3-10 API安全机制之授权
  3-11 API安全机制之登录
  3-12 session固定攻击防护
  3-13 重构代码
  3-14 章节小结

第4章 微服务网关安全

我们会从简单的API场景过渡到复杂的微服务场景,首先我们会介绍在微服务场景下,相比简单的API场景,我们会面临哪些新的挑战。后我们会介绍一个中小企业中常见的微服务架构,同时也会介绍OAuth2协议,我们会讲一下这个架构和OAuth2协议如何一起解决这些新的挑战。在这一章的后半部分,我们会在网关上做一些开发,演示如何在...

  4-1 章节概述
  4-2 微服务安全的新挑战
  4-3 常见的微服务安全整体架构
  4-4 OAuth2协议与微服务安全
  4-5 搭建OAuth2认证服务器
  4-6 搭建OAuth2资源服务器
  4-7 重构代码以适应真实环境
  4-8 Zuul网关安全开发(一)
  4-9 Zuul网关安全开发(二)
  4-10 Zuul网关安全开发(三)
  4-11 Zuul网关安全开发(四)

第5章 微服务身份认证和SSO

我们会学习微服务安全中比较重要的一个话题:身份认证,我会在微服务环境下实现一个前后端完全分离的单点登录(SSO)。在这个过程中,我们会进一步介绍OAuth2协议中的各种授权协议,以及如何使用这些协议达成我们的目标。最终我们会实现两个版本的SSO:基于服务器Session的实现和基于浏览器Cookie的实现。

  5-1 单点登录基本架构
  5-2 前端页面改造
  5-3 后端服务改造
  5-4 请求转发及退出
  5-5 实现授权码认证流程(1)
  5-6 实现授权码认证流程(2)
  5-7 实现基于session的SSO(客户端应用的Session有效期)
  5-8 实现基于session的SSO(认证服务器的session有效期)
  5-9 实现基于session的SSO(Token有效期)
  5-10 实现基于session的SSO(Token有效期)
  5-11 实现基于token的SSO(1)
  5-12 实现基于token的SSO(2)

第6章 微服务之间的通讯安全

我们会聚焦于微服务之间的安全。我们会演示如何使用CA分发证书,保证微服务之间的通讯是安全的。我们也会讲解如何使用JWT来确保微服务之间的通讯安全。最后,我们会介绍一下阿里的开源框架Sentinel,以及如何使用Sentinel来实现集中式的微服务流控、熔断和降级管理,以确保微服务的可用性。...

  6-1 本章概述
  6-2 JWT认证之认证服务改造
  6-3 JWT改造之网关和服务改造
  6-4 权限控制改造
  6-5 jwt改造之日志及错误处理(1)
  6-6 jwt改造之日志及错误处理(2)
  6-7 jwt改造总结
  6-8 sentinel限流实战
  6-9 sentinel之熔断降级
  6-10 sentinel之热点和系统规则
  6-11 sentinel之配置持久化

第7章 微服务监控和报警

我们会介绍微服务的监控、追踪和报警。首先我们会介绍如何使用Promethus + Grafana + AlertManger来采集微服务的Metrics信息,并基于这些信息自动报警。其次我们会介绍如何使用 ElasticSearch + FileBeat + Kibana 来采集和查询微服务日志信息。最后我们会介绍一个调用链路追踪工具 pinpoint,用来监控微服务的t...

  7-1 章节概述
  7-2 docker快速入门
  7-3 prometheus环境搭建
  7-4 整合SpringBoot和Prometheus
  7-5 配置grafana图表及报警
  7-6 自定义metrics监控指标(1)
  7-7 自定义metrics监控指标(2)
  7-8 ELK+SpringBoot环境搭建
  7-9 自定义日志采集的格式和内容
  7-10 ELK日志采集架构优化
  7-11 PinPoint+SpringBoot环境搭建
  7-12 整合链路追踪和日志监控

第8章 课程总结

这一章我们会回顾整门课中学到的知识,并对后面的进一步学习指出一些方向。

  8-1 课程总结

+++++++++++++++++++++++++++++++++++++++++++分割线++++++++++++++++++++++++++++++++++++++++++++++

看了目录,感觉认真学好,应该会收获满满!记录成文,方便查阅,以及帮助到更多的人

文章代码放在github :https://github.com/lhy1234/springcloud-security    ,如果帮到了你,就给一个小星星吧 ~~~

Spring Cloud微服务安全实战_00_前言的更多相关文章

  1. 《Spring Cloud微服务 入门 实战与进阶》

    很少在周末发文,还是由于昨晚刚收到实体书,还是耐不住性子马上发文了. 一年前,耗时半年多的时间,写出了我的第一本书<Spring Cloud微服务-全栈技术与案例解析>. 时至今日,一年的 ...

  2. Spring cloud微服务安全实战_汇总

    Spring cloud微服务安全实战 https://coding.imooc.com/class/chapter/379.html#Anchor Spring Cloud微服务安全实战-1-1 课 ...

  3. Spring Cloud微服务安全实战_4-5_搭建OAuth2资源服务器

    上一篇搭建了一个OAuth2认证服务器,可以生成token,这篇来改造下之前的订单微服务,使其能够认这个token令牌. 本篇针对订单服务要做三件事: 1,要让他知道自己是资源服务器,他知道这件事后, ...

  4. Spring Cloud微服务安全实战_4-3_订单微服务&价格微服务

    实现一个场景: 订单微服务: POM: <?xml version="1.0" encoding="UTF-8"?> <project xml ...

  5. Spring cloud微服务安全实战 最新完整教程

    课程资料获取链接:点击这里 采用流行的微服务架构开发,应用程序访问安全将会面临更多更复杂的挑战,尤其是开发者最关心的三大问题:认证授权.可用性.可视化.本课程从简单的API安全入手,过渡到复杂的微服务 ...

  6. Spring cloud微服务安全实战-6-8sentinel限流实战

    阿里2018年开源的. 简单来说就是干三件事,最终的结果就是保证你的服务可用,不会崩掉.保证服务高可用. 流控 先从最简单的场景来入手. 1.引用一个依赖, 2,声明一个资源. 3.声明一个规则 注意 ...

  7. Spring cloud微服务安全实战-6-4权限控制改造

    授权,权限的控制 令牌里的scope包含fly就有权限访问.根据Oauth的scope来做权限控制, 要让@PreAuthorize生效,就要在启动类里面写一个注解. 里面有一个属性叫做,就是在方法的 ...

  8. Spring cloud微服务安全实战-6-2JWT认证之认证服务改造

    首先来解决认证的问题. 1.效率低,每次认证都要去认证服务器调一次服务. 2.传递用户身份,在请求头里面, 3.服务之间传递请求头比较麻烦. jwt令牌. spring提供了工具,帮你在微服务之间传递 ...

  9. Spring cloud微服务安全实战-5-7实现基于session的SSO(客户端应用的Session有效期)

    授权模式改造成了Authorization code完成了改造的同时也实现了SSO.微服务环境下的前后端分离的单点登陆. 把admin的服务重启.刷新页面 并没有让我去登陆,直接就进入了首页. ord ...

随机推荐

  1. 基于 Docker 实现 DevOps 的一些探索

    DevOps 介绍 DevOps(Deveplopment 和 Operations 的简称),中译为开发运维一体化,可定义为是一种过程.方法.文化.运动或实践,主要是为了通过一条高度自动化的流水线来 ...

  2. SpringBoot之CommandLineRunner接口和ApplicationRunner接口

    我们在开发中可能会有这样的情景.需要在容器启动的时候执行一些内容.比如读取配置文件,数据库连接之类的.SpringBoot给我们提供了两个接口来帮助我们实现这种需求.这两个接口分别为CommandLi ...

  3. sql server删除重复记录只保留一条

    今天遇到一个历史导入数据重复的问题,于是要删除重复的记录,一开始想用子查询的方式找到要删除记录的id删除,后来发现DELETE语句可以直接用外连接,这样更加简单,效率也更高. delete sys_p ...

  4. django学习_学生信息管理后台

    一.功能: 实现对学生对个人信息的增删查改 实现后台对所有学生信息的操作 二.此后台采用的是MVC的风格模式进行编码 1.VIEWS部分 from django.http import HttpRes ...

  5. 【LeetCode】230. Kth Smallest Element in a BST

    Difficulty: Medium  More:[目录]LeetCode Java实现 Description https://leetcode.com/problems/kth-smallest- ...

  6. 【Elasticsearch】【WEB】java web服务连接es elasticsearch始终报错,无法正常连接使用的错误解决历程

    前情提要: web服务往华为云上迁移 ================内网的好环境,相关配置=================== 1.web服务关于ES的集群配置如下: elasticAddress ...

  7. 2019-11-29-C#-字典-Dictionary-的-TryGetValue-与先判断-ContainsKey-然后-Get-的性能对比

    原文:2019-11-29-C#-字典-Dictionary-的-TryGetValue-与先判断-ContainsKey-然后-Get-的性能对比 title author date CreateT ...

  8. ALBERT+BiLSTM+CRF实现序列标注

    一.模型框架图 二.分层介绍 1)ALBERT层 albert是以单个汉字作为输入的(本次配置最大为128个,短句做padding),两边分别加上开始标识CLS和结束标识SEP,输出的是每个输入wor ...

  9. 通俗易懂的讲解一下Java的代理模式

    一.基本概念 代理模式是对象的结构模式. 代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用(接口的引用) 二.静态代理 静态代理是指,代理类在程序运行前就已经定义好,其与**目标类 ...

  10. Linux 目录简介

    这里以Centos7为例: 使用tree命令查看/目录结构如下: 下面我们主要探讨如下主要目录: /:根目录不必多说,文件系统的最顶端,存放系统所有目录. bin:该目录主要存放系统运行所需要的重要命 ...