微服务架构下访问控制模型的设计与实现
2018-12-13朱永强宫学庆
计算机应用与软件 2018年12期
朱永强 方 意 宫学庆
(华东师范大学计算机与软件工程学院 上海 200062)
0 引 言
访问控制是根据系统设定的访问权限授予认证通过的访问用户的过程,它作为信息系统的核心内容之一,直接影响着一个系统的安全与效率。随着互联网技术的快速迭代,微服务架构[1]以其灵活拓展、独立部署等优点在互联网应用中被广泛采用。一些流行的微服务框架比如Spring Cloud、Dubbo、HSF等在互联网公司的主要业务中扮演举足轻重的角色。与此同时,访问控制在微服务架构的信息系统中会变得更加复杂,因此研究该问题有较为重大的意义。
如图1(a)表示的是单体系统访问控制流程,单体系统的访问控制通常采用集中式的管理方式。第1步通过权限控制模块识别用户的身份信息,并进行身份认证;第2步根据已制定的访问规则来约束访问行为;第3步访问相应的功能的业务模块。单体系统的访问控制模块跟业务模块在同一进程中,通过维护有状态的用户登录信息进行访问控制,如Session等技术。图1(b)表示的是微服务架构下的访问控制方式。它将传统的单体系统根据业务内容被拆分成若干个不同的微服务实例,访问控制模块可以单独成为一个服务,也可以拆分到在各个业务服务中。相比较单体系统的访问控制方式痛点如下:
(1) 当访问者不仅仅是用户,还包括其他服务的调用时,单体系统架构下访问控制的管理方式就不再满足需求。要考虑访问入口适用的场景,会出现用户与服务间的鉴权、服务与服务间的鉴权等多种场景。……
登录APP查看全文
