查看原文
其他

别再让你的工程师用 Navicat 连数据库了

天舟 Bytebase 2023-01-28

Navicat 是一款历史悠久的图形化数据库客户端。
其第一个版本推出于 2001 年,从一开始支持 MySQL,后来又陆续支持了 MariaDB, MongoDB, Oracle, SQLite, PostgreSQL 以及 Microsoft SQL Server。Navicat 可以同时在 Windows, Mac 还有 Linux 上运行,但从界面可以看出,Navicat 采用的是桌面端技术开发的,而不是当下更主流的 Web 端技术。
经过 20 多年的积累,单就操作数据库而言,Navicat 的产品能力属于其中的佼佼者。虽然它的界面有些陈旧,但是功能齐全,整体操作体验流畅 ,所以在用户中有相当不错的口碑。但作为一款纯客户端单机桌面软件,Navicat 也有自身的局限性。

Navicat 的问题

需要分发数据库用户名密码

作为一款客户端软件,Navicat 要访问数据库进行操作,就需要知道数据库的用户名、密码。研发使用 Navicat,DBA 就得把数据库用户名、密码给到他们。这样导致了数据库访问操作权限散落在各处,对于企业的数据安全和数据库稳定性都是巨大的隐患。

没有精细化的数据访问控制

既然数据库密码都直接交出来了,就自然也不会有更加精细化的访问控制,比如可以访问一个实例下某几个数据库,但禁止访问其余的数据库。

无法做数据脱敏

同样也是因为数据库密码都直接交出来,所有数据都能看到。要么就是完全不给数据库密码,不让用户访问数据,但那样往往又不可行。

缺少审计日志 Audit Log

同样因为是客户端软件,DBA 无法知道谁干了什么(如果 DBA 给每一个用户分配单独的数据库用户名、密码,通过数据库引擎的日志还是可以看到的,但现实中数据库账号通常都是共享的)。

缺少流程化的变更流程

使用 Navicat 做数据库变更是很方便,在它的 SQL 编辑器里写一条 UPDATE, ALTER TABLE 提交。但快有快的问题,要是连错数据库,或者敲错 SQL 语句 (比如变更忘加 WHERE),就会带来灾难性后果。

盗版泛滥

Navicat 价格不便宜,相对全面的 Premium 版本,一个证书 1 年的订阅费是 5999 RMB,永久许可是 11999 RMB。
即使是一个精简版的永久证书,售价也要 2899 RMB。
相对高昂的价格使得 Navicat 的盗版问题也很严重。

软件供应链安全

盗版除了给公司带来法律问题,另外还有软件供应链安全问题 (Software Supply Chain Security)。网上有些 Navicat 破解版是被安转了后门的,一旦用户使用这样的 Navicat 去访问数据库,这个数据库就已经沦陷了。
下图是上周在一个数据库群里看到的真实案例 。
Navicat 是一款优秀的数据库客户端工具,但因为它本身客户端的限制,缺乏管控能力,使得它无法达到企业中操作数据库时,对于安全管控方面的要求。同时又因为 Navicat 本身的定价策略,导致了盗版横行,又给企业带来了法律和软件供应链安全的双重风险。

Bytebase 的解决之道

Bytebase 作为一款基于 Web 技术,有服务端能力的产品,则刚好可以弥补 Navicat 在企业协同场景中的缺陷。

SQL 编辑器 (只读模式)

SQL 编辑器 (管理员模式)

数据库变更审核流程(变更模式)

数据脱敏

数据库访问限制

常用 SQL 脚本保存和团队间共享

和 GitLab / GitHub 集成,从代码仓库中同步 SQL 脚本

日志审计

SQL 规范约束


Bytebase 和 Navicat 对比

Bytebase 和 Navicat 都提供了可视化界面,可以让用户操作数据库,核心区别在于,Bytebase 在数据库的查询,变更和管理员操作上都添加了一层额外的管控能力。
另外 Bytebase 的代码是开源的,定价则是基于数据库实例数,对于员工数远高于数据库实例数的公司来说,在价格上就更有竞争力。
当然最核心的还是适用场景的不同,Navicat 面向个人,Bytebase 面向团队。如果是个人项目需要操作数据库,Navicat 是一款能力全面,体验流畅的数据库客户端软件。但是一旦来到企业场景,需要 DBA 和开发人员协作,需要 DBA 对整个公司的数据库访问权限,查询,变更等操作进行统一管控时,还是需要像 Bytebase 这样在数据库操作能力之上,可以承载管控能力的产品。


Bytebase 1.10.0 重点新功能解读
年度精选 | 2022 年那些有趣的前端开源项目
0 门槛带你体验 Bytebase 中访问控制以及数据脱敏
【5000 字长文】从 S3 到 DataZone,AWS 用 16 年讲完一个数据的故事

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存