当要开发云端微服务的时候,我们需要考虑加密那些传递于服务间的和REST接口的数据。所以,对于我们的架构来说到达怎样程度的加密才是足够的?是由用户自己辨别来决定哪些数据他可以访问?
概述
- 我们的云化架构
- 认证和授权原则
- 使用OAuth2协议
- 理解JWT(JSON Web Tokens)
- 使用一个用户认证和授权服务器
- 加密你的微服务
- 加密Rest端的数据
我们的云化架构
在这个博客系列中,我们将涵盖这些问题并指导你将安全层应用到你的云产品蓝图上。通过这个蓝图,我们将在整个系列中使用Spring生态圈。解决以下问题,对于构建一个云化的微服务架构是至关重要的,但是它应该跟技术无关:
- 用户认证和授权服务: Spring Cloud Security OAuth2
- 负载均衡和路由: Spring Cloud Zuul
- 交互客户端: Spring Cloud Feign
- 外部化配置: Spring Cloud Config Server
开始我们的旅程
当用户与我们系统进行交互的时候,我们需要验证用户是否能够验证他/她自己。大多数的时候,会通过一个登录表单或者来自其他第三方应用(Facebook,谷歌等等)的登录页面来体现。
如果你喜欢更安全的系统,你可以在它的上面增加更加复杂的一层。大多数公司使用的是[两步验证](https://zh.wikipedia.org/wiki/双重认证),它往往使用一个额外的提供者(比如Google Authenticator)为你的应用追踪一个token。