在JumpServer V2版本中我们保持着每月一次发版的高速迭代,使得整个堡垒机系统的功能越来越臃肿,有很多产品设计不合理、冗余的地方,,所以在研发团队深思熟虑下,决定开启V3版本,给堡垒机系统做减法。
本次版本迭代,我们主要对系统用户,远程应用,资产和资产平台等方面做了优化设计(以下对比图中,V2版本截图自V2.28.7版本,V3版本截图自V3.0)。
一、系统用户
V2版本中,系统用户包含了资产账户纳管、切换用户、sftp路径、命令过滤、账号改密功能,承担了过多的功能,尤其在改密时,情况变得复杂且维护成本过高,并且在授权时,也会因为系统用户功能过多导致授权复杂,在资产规模较大的客户体现的尤为明显。
所以在V3版本重构系统用户为账号,放弃系统用户模块,用户在纳管服务器时就可以添加系统用户,实现了一个系统用户对应一个资产,让授权变得简单。在授权时也可以选择所有账号、手动账号、同名账号、指定账户。同时,JumpServer V3版本新增账号管理模块,通过账号列表可以看到所有的账号,由此可以开展账号收集、账号推送、账号模版、账号改密、账号备份等功能,账号推送功能也有助于研发团队后续进行更多的自动化设计。
V2—系统用户
V3—账号
二、远程应用
V2版本中,远程应用需要安装应用,然后通过托管程序拉起、这种使用方式比较基础,开发和复用起来十分麻烦。面对不同的使用场景,需要在每个客户端中进行重新配置,不便于我们进行扩展和定制开发,无法满足很多企业用户的需求,部署交付比较消耗人力。
因此在V3版本重构了远程应用。远程应用将作为一种连接方式存在,主要用于连接资产,而不再是一种应用。远程应用服务器由JumpServer进行统一的纳管、部署、维护,并且定时上报状态。用户提供Windows资产并安装基础组件之后,JumpServer会在应用发布机上代理执行自动化的工作,这样一来,RemoteApp主机就可以自动部署、自动维护。V3版本密码代填功能使用Python框架完成,而不再使用AutoHotKey,准确性更强。
V2—远程应用
V3—远程应用
三、资产纳管及资产平台
JumpServer一开始只支持资产的连接,随着用户人数的增加和使用范围越来越广,所以我们增加了应用模块,可以纳管数据库、Kubernetes、远程应用以及其他应用,这就导致JumpServer的数据库和API服务都存在冗余的现象。而资产平台模块的主要作用就是区分操作系统、编码差异及windows的差异。
V3版本我们将之前的资产拆分为主机、数据库、网络设备、云服务、Web以及其他类别。用户在创建资产时,首先需要选择对应的平台类别,每种类别下对应更加细化的内置资产类型。资产与应用合并之后,强化了资产平台的作用,因此我们需要对资产平台模块也进行重新设计,对资产进行约束。新平台模块除了可以区分资产类型,还可以定制一些功能,比如资产是否能开启网域、能进行
哪些协议和配置、是否支持账号切换功能等,这些都可以直接在平台上进行定义和设置。
V2—资产纳管
V3—资产纳管
V2—平台列表
V3—平台列表
V2—平台列表详情
V3—平台列表详情
四、任务中心
V2版本中作业中心中包含了任务列表与任务监控界面,其中包含了每次任务的执行次数、任务时间和结果,而任务监控界面则是监控了JumpServer执行任务的组件情况。
V3版本中作业中心重命名为任务中心,任务列表为了更好的查询相关任务,把任务进行分类,点击名称即可查看,更加符合日常使用逻辑。
V2—任务列表
V3——任务列表
五、UI设计
JumpServer v3.0的操作界面也做了全新的升级。专业设计师对JumpServer界面进行了全新的UI设计,仪表盘数据更加直观,并且重新调整了功能布局。
V3—登录界面
V3—仪表盘界面