微服务的安全性本质上是指服务访问的安全性。
一、微服务架构中的安全设计
面临用户-服务鉴权、服务-服务的鉴权等。
1、微服务的安全策略
基于在分布式环境喜爱处理session的场景,把关于用户认证的信息存储到共享存储中,通常将用户会话作为key来实现简单分布式哈希映射,当用户访问微服务时候,用户数据可以从共享存储中获取。
客户端Token机制,基于Token认证的好处在于服务端无状态,Token机制在服务端不需要存储Session信息,因为Token自身包含了用户的所有信息。同时客户端Token机制也具备很好的扩展性。
2、基于Token的认证方案
1.用户使用包含用户名和密码的身份凭证从客户端发起资源请求
2.后端接受请求,通过授权中心生成有效的Token字符串,并返回给客户端
3.客户端获取Token后,再次发起资源请求
4.后端接受带Token的请求,通过授权中心获取相关资源并返回给客户端。
3、OAuth协议
OAuth协议时候面向SOA和ESB等分布式场景下开放和消费低三方接口,该协议解决的是授权问题而不是认证问题。
(1)Oauth协议应用场景
(2)Oauth协议流程
Third-party Application 第三方应用程序,也可以称作客户端。
HTTP Service HTTP服务提供商
Resource Owner 资源拥有者
User Agent 用户代理。
Author