授权方案架构设计
总体描述
授权方案主要功能是激活授权,管理授权范围,以及校验授权相关的功能。另外私有部署需要接入比特云的授权服务,提供比特云激活码的激活,返还等功能,公有云需要接入crm,提供生成授权码功能。因为私有部署和共有部署存在差异,所以将两种部署方式的功能点分开,具体包括如下:
公有云部署:
- 公有云租户授权码生成
- 多租户授权码管理
- 租户内用户的授权页面 分配授权接口
- 用户授权模块信息获取与校验
- 接入CRM系统
私有云部署:
- 接入比特云api,实现服务器激活,返还,升级接口(在线/离线)
- 租户内用户的授权页面 分配授权接口
- 接入比特云api–授权信息读写
- 用户授权模块信息获取与校验
实现功能需要用到模块分别为wk_admin,wk_manage,wk_license,wk_grpc_license(公),wk_grpc_license(私)。
- 公有云多租户授权码分配接口在wk_admin服务,授权码生成和租户分配的授权码由wk_grpc_license(公)实现。
- 租户内用户的授权分配管理入口在wk_manage,具体信息记录,对应公有云和私有部署实现分别由wk_grpc_license(公)和wk_grpc_license(私)实现
- 用户授权模块信息获取与校验,入口在wk_license,具体实现由wk_grpc_license(公)和wk_grpc_license(私)完成
- 私有部署需要集成比特云服务,这部分由wk_grpc_license(私)完成
流程关系图
功能/场景描述
授权服务整个场景流程如下:
- 用户购买公有云服务,在crm下单,crm调用公有云服务,生成授权码,同时记录授权包以及数量;或者在比特云生成授权码。
- 超级管理员给租户分配授权码
- 租户管理员给租户内账号分配授权包
- 用户登录后,获取当前账号可使用的所有功能模块
- 客户端根据功能模块列表,校验用户是否具有对应命令的权限
公有云和私有部署的区别:
- 生成授权码的方式不同
- 公有云有多租户,需要管理租户的授权码
- 私有部署只有 t_user_pack 一张数据库表
- 共有云权限校验依赖数据库数据,私有部署权限校验依赖比特云的授权码信息