微服务架构统一安全认证设计与实践.docx
《微服务架构统一安全认证设计与实践.docx》由会员分享,可在线阅读,更多相关《微服务架构统一安全认证设计与实践.docx(14页珍藏版)》请在第一文库网上搜索。
1、微服务架构统一安全认证设计与实践当企业应用系统逐渐增多后,每个系统单独管理各自的用户数据容易形成信息孤岛,分散的用户管理模式阻碍了企业应用向平台化演进。当企业的互联网业务发展到一定规模,构建统一的标准化账户管理体系将是必不可少的,因为它是企业互联网云平台的重要基础设施,能够为平台带来统一的帐号管理、身份认证、用户授权等基础能力,为企业带来诸如跨系统单点登录、第三方授权登录等基础能力,为构建开放平台和业务生态提供了必要条件。1 名词定义Third-party application:第三方应用程序,本文中又称“客户端(client) oHTTP service: HTTP服务提供商,本文中简称服
2、务提供商。Resource Owner:资源所有者,本文中又称用户(user),即登录用户。User Agent:用户代理,本文中就是指浏览器。Authorization server:认证服务器,即服务提供商专门用来处理认证的服务器。Resource server:资源服务器,即服务提供商存放用户生成的资源的服务器。它与认证服务器,可以是同一台服务器,也可以是不同的服务器。2 研发背景单体应用体系下,应用是一个整体,一般针对所有的请求都会进行权限校验。请求一般会通过一个权限的拦截器进行权限的校验,在登录时将用户信息缓存到session中,后续访问则从缓存中获取用户信息。随着Restful A
3、PI微服务的兴起,基于Token的认证现在已经越来越普遍。Token和Session TD不同,并非只是一个key。Token 一般会包含用户的相关信息,通过验证Token就可以完成身份校验。基于Token认证的优势如下:服务端无状态:Token机制在服务端不需要存储session信息,因为Token自身包含了所有用户的相关信息。性能较好,因为在验证Token时不用再去访问数据库或者远程服务进行权限校验,自然可以提升不少性能。支持移动设备,支持跨程序调用,Cookie是不允许垮域访问的,而Token则不存在这个问题。3 研发目标通过标准安全认证流程,异构系统或跨服务间能够灵活地实现指定功能部件
4、或服务的集成、统一的安全认证。基于Token认证的一个典型流程如下:用户输入登录信息(或者调用Token接口,传入用户信息),发送到身份认证服务进行认证(身份认证服务可以和服务端在一起,也可以分离,看微服务拆分情况了)。2.身份验证服务验证登录信息是否正确,返回接口(一般接口中会包含用户基础信息、权限范围、有效时间等信息),客户端存储接口,可以存储在Session或者数据库中。4.5.客户端将Token放在HTTP请求头中,发起相关API调用。6.7.被调用的微服务,验证Token权限。9.服务端返回相关资源和数据。10.安全认证功能点:系统授权客户端身份校验资源所有者身份校脸Tokon凭证信
5、息生成授权服务系统婆权Token合法性校验登录权限加载坊向资源权限校验凭证续约R8frgshTok&n合法性校脸客户端身份校验Token凭证信息生成获取凭证,第三方应用客户端使用客户端编码/安全码、资源所有者用户名/密码等证件信息从授权服务器上获取Access Token资源访问凭证。2.3.登录授权,客户端携带Access Token凭证访问服务器资源,资源服务器验证Token.第三方应用凭证信息、资源所有者User合法性,通过Token读取资源所有者身份信息(user)加载资源所有者的权限项执行登录。5.访问鉴权,第三方应用客户端访问服务端资源,系统验证访问者Access Token合法性
6、、权限信息,验证凭证(Access Token)正确,此时资源服务器就会返回资源信息。6.7.凭证续约,Access token访问凭证过期需要进行凭证续约,刷新Token凭证有效期。另外,搜索公众号程序员小乐后台回复支付,获取一份惊喜礼包。4 技术选型分析系统授权采用OAuth2开放式授权标准密码模式。Token采用JWT标准。OAuth开放授权OAuth (Open Authorization,开放授权)是为用户资源的授权定义了一个安全、开放及简单的标准,第三方无需知道用户的账号及密码,就可获取到用户的授权信息O会的四种授权方式:授权码模式(authorization code )用在客户
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微服 架构 统一 安全 认证 设计 实践