业务挑战
A 集团信息部门发展将近 10 年,从最初的一个 MySQL 数据库到现在鱼龙混杂什么数据库都有,其中仓库部门用了 PostgreSQL 做数据底座,历史原因问题,生产系统却是使用 Oracle。基于信创的需求,上级领导要求试点国产数据库 GaussDB 以及 OceanBase。
简单疏理一下需求:
- MySQL 版本有 MySQL 5.1 、MySQL 5.6、MySQL 5.7、MySQL 8.0 系列。不同系列的 MySQL 版本有将 50 多套。
- PostgreSQL 版本有 PostgreSQL 9x、PostgreSQL 10x、PostgreSQL 11x、PostgreSQL 12x、PostgreSQL 16x 等等,不同的 PostgreSQL 版本有将 20 多套。
- Oracle 统计有 Oracle11G 以及 Oracle12C。GaussDB 以及 OceanBase 加起来也有 5、6个 版本。
- 上面所有的 TP 数据库加起来一共 100 套,还没有算上 AP 数据库【Greeplum、Vertia】。
按照传统的管理方式,要招好几个专业的 DBA 管理不同的数据库,如果需要一个 DBA 完成,这个 DBA 是百中无一。数据库只是一个容器,我们希望数据库配合治理需求实现全链路的监控,支持企业安全管理的功能,例如数据加密、数据脱敏、数据审计等等 。这样的 DBA 是万中无一。
通过 CloudQuery 能够轻松解决以上问题, CloudQuery 使任何一位 DBA 成为万中无一的高手。
解决方案
CloudQuery 是一个一体化数据库管控系统,通过统一信息管理系统入口,对于数据库管理资源进行整顿审核 ,一方是公司管理者负责资源的控制管理,一方是使用者按照公司的管理流程使用数据库,使用者主要是数据库工程师、应用工程师,公司管理者是项目经理、高级数据库工程师。
下面是官方更详细的介绍:
CloudQuery 提供一站式数据库开发与运维平台,实现数据库访问入口统一、管理入口统一,对数据库访问行为进行统一、安全管控。
全方位管控数据使用人 …
从用户登录阶段的双因素认证,到事前管控权限分配、操作过程中的过滤、脱敏、高危阻断等访问限制,再到事后行为审计,以及全流程中的防导出、防下载、防复制等数据保护措施,CloudQuery 的安全管控贯穿整个数据生命周期,全方位管控数据使用人。
敏感数据防泄漏 …
针对敏感数据保护要求,CloudQuery 能主动识别数据库敏感数据资产,针对敏感资源做脱敏显示,脱敏规则丰富,同时支持自定义,无须改变生产数据库中的数据,即可依据用户级别、数据级别,对数据库返回数据进行差异化脱敏,有效防止敏感数据被导出发生泄漏。
全链路管制防拖库/拖表 …
通过自研 Web 客户端 + SAAS 化数据库操作,可限制操作人员直接接触目标数据库及获取数据库连接信息 ,同时配合防火墙收敛用户操作入口,分析引擎通过量/时间两个维度实现自动升降权以及高危动作的告警,多维度全链路管制防拖库/拖表。
智能 SQL 编辑器 …
支持开发人员在同一界面、同一设计、同一操作风格中管理不同数据源;支持关键词高亮、语法提示、SQL美化、查看执行计划等功能;平台会对编写的SQL语句进行SQL解析,拦截SQL越权操作,防止无权限用户访问数据库信息
实战使用
软件安装 …
官网下载:https://www.cloudquery.club/download
点击离线下载后,解压,进入<cloudquery目录>直接运行一键安装脚本 ./deploy.sh install。
安装过程中,会自动安装 docker,执行安装各种容器,理解的状态如下:
最后访问80端口, http://ip:80
默认用户 admin001 默认密码 Hello123$
确证后端服务的状态,全部绿灯代表安装成功。
Demo 案例:DBA 与项目经理的全新互动 …
公司管理员注册一个使用者【即 DBA】,命名 dba1
公司管理员新建一个数据库连接,这里是 MySQL 的数据源。
公司管理员授权,数据源 MySQL 与 4 个用户进行绑定
公司管理员设置,资源中指定的数据库【MySQL 源的 dba1 数据库】对外激活,其它系统库不激活,没有激活使用者无法审请查找资源。 数据库管理-连接管理 - 数据源-资源管理-状态。
使用者【DBA】正常登录,第一次会重置密码,访问审请->资源搜索。
指定资源名称 dba1, 点击加入申请单。
使用者生成申请单。
使用者提交申请。
公司管理员处理申请的工单,填上审批意见并加时间 ,我的申请->。
审批可以拥有多个控制流程。
使用者现在可以正式访问数据库。
公司管理者也可以在后台查看使用者的行为。
总结
回顾资源使用者与公司管理者的交互流程,两者的司职责任。
- 公司管理者创建资源使用者的名称。【建立用户、角色】
- 公司管理者定义数据源连接的名称。【建立数据资源名称】
- 公司管理者声明资源可由哪些人使用。【数据资源绑定用户】
- 公司管理者指定资源开放的权限。【数据资源粒度粗细】
- 公司管理者审批使用者发出的工单。【工单控制管理系统审批】
- 公司管理者根据数据资产设置不同的权限和流程【工单控制管理节点】
- 资源使用者通过工单审请各种资源 【与公司管理者的沟通渠道】
- 资源使用者执行日常工作【DBA、开发者的日常工作】
- 资源使用者提交数据变更【此处是对生产环境】
评价如下:
- 通过 CloudQuery 作为中间层,实现资源使用者与公司管理者解耦,从上面流程来看,解耦还算比彻底,两者的边界还算清晰。
- 从用户、权限、角色的分组分类来看,感觉 CloudQuery 对于综合一体业务还是非常了解的, 这个点赞加分。
- WEB 界面清晰,显然用了精心的打磨,资源稍缺丰富,但是基本的监控对象都在列表之内。
- 美中不足的 CloudQuery 的硬件最少需要 16G内存,笔者尝试开了 10G 的虚拟机,服务不能起来,直至 16G 才能够勉强使用起来,还是太重量级了。
- 工单控制管理方面,这个是 CloudQuery 的重头戏,笔者使用过不少的 OA 系统,现在来看 CloudQuery在这里还是有进步的提升的空间,也许以后发展成熟作为商业版功能。
- 数据加密、数据脱敏、数据资产保护是 CloudQuery 做为中间件的一大亮点,未来 CloudQuery 应该强化资产方面的功能,这里有很多东西可以做的,例如主数据、元数据、数据质量等等。
CloudQuery 官网:https://www.cloudquery.club
CloudQuery 文档:https://bintools.yuque.com/org-wiki-bintools-xniowl/do4ums
关于 CloudQuery
CloudQuery 是一款面向企业的云原生一体化数据库管控平台。致力于为开发者、数据资产管理者等技术人员,打造一个一站式安全可控的数据操作平台,CloudQuery 赋予用户仅通过一个 web 浏览器,即可实现数据安全访问、数据分析治理、数据脱敏等各类复杂场景的能力。
CloudQuery 核心能力
- 自研数据库客户端:多种数据库,一个管理和开发工具。
- 支持多类型数据库:覆盖 OceanBase、Oracle、Mysql、PostgreSQL、HIVE、达梦等20多种数据库,并在不断迭代中。
- 用户统一管理:一个组织身份账户,即可访问所有数据源,简化数据库管理工作。
- 数据泄漏防护:依据数据安全法要求有效保护企业数据,避免数据泄露和滥用。
- 高危操作拦截:操作语句逐条解析,支持多种高危行为识别与拦截。
- 终端安全防护:避免传统数据库客户端导致的账号泄漏、数据泄漏、版权问题。
- …