开源项目简介

CloudDM 是一款面向团队的开源数据库开发管理工具,为开发人员、DBA 和管理人员提供统一的数据库访问入口。团队不需要向每位成员分发数据库账号,即可完成数据查询、数据库对象管理、SQL 审核、权限申请、工单审批、数据脱敏和操作审计。
与主要面向个人使用的数据库客户端不同,CloudDM 更关注团队使用数据库时的安全和协作问题。管理员可以按照角色和资源分配权限,对查询和变更 SQL 设置安全规则,并通过工单与审批流程管理数据库变更。CloudDM 还支持 Git Push、Web Hook 和 HttpCall 触发数据库 CI/CD 流程,方便将数据库变更纳入研发发布流程。
CloudDM 4.0 对界面和交互进行了整体升级,将日常 SQL 查询与审批、工单等工作流程分开,并增强了 SSH 隧道、SSL 证书、代理、统一身份认证和审批引擎等能力。
开源协议
CloudDM 使用 Apache License 2.0 开源协议。
功能概述
CloudDM 将数据库查询、权限、安全规则和变更流程集中到一个 Web 平台,既可以作为团队统一使用的数据库查询工具,也可以用于 SQL 审核、查询管控和数据库变更管理。
多数据源统一管理
CloudDM 支持 MySQL、Oracle、MariaDB、PostgreSQL、IBM DB2、SQL Server、OceanBase、PolarDB、TiDB、Greenplum、StarRocks、Doris、SelectDB、ClickHouse、Redis、Hologres、GaussDB、MongoDB,以及阿里云、AWS、Azure 上的多种数据库。目前支持 20 多种数据源,团队可以通过同一个平台管理不同环境和不同类型的数据库。
CloudDM 4.0 新增 SSH 隧道管理,支持密码、私钥、代理、known_hosts 探测和连接测试;数据源连接还可配置 SSL 证书,以及 HTTP、SOCKS4、SOCKS5 代理,方便连接不同网络环境中的数据库。

SQL 查询与数据库对象管理
CloudDM 提供 Web SQL 工作台,支持语法高亮、智能提示、事务、隔离级别、执行计划和查询结果导出。用户还可以查看和管理库、Schema、表、列、索引、视图、函数、存储过程、触发器、用户和角色等数据库对象,具体能力根据数据源类型有所不同。
CloudDM 4.0 将 SQL 查询与审批、工单等工作流程分开,开发人员进行日常查询时,不需要在多个流程页面之间切换。


SQL 审核与安全规则
CloudDM 内置 54 条 SQL 审核规则,可在 SQL 执行前识别全表更新、缺少必要条件等风险操作,并根据策略给出提示或直接阻止执行。规则可以精确应用到环境、实例、数据库、表、视图和物化视图,也可以通过 Rule Script 按照企业自身规范扩展。
同一套规则既可以用于 SQL 工作台查询,也可以用于工单提交前的检查,从而把风险控制放在 SQL 真正执行之前。

细粒度权限控制
CloudDM 将功能权限与资源权限分开管理。管理员可以通过 RBAC 角色控制用户能够使用哪些功能,并按照实例、数据库、Schema 和表等粒度授予资源权限。语句级授权可以进一步区分 DDL 和 DML,避免用户获得超出工作需要的数据库权限。
团队成员通过 CloudDM 账号访问已授权的数据库资源,无需直接获取和保存数据库账号密码。

工单与审批流程
对于生产数据库变更,用户可以提交 SQL 审核、权限申请或变更工单。工单支持手动执行、立即执行和定时执行,并可根据实际流程启用检查、审批和执行节点。
CloudDM 既提供内置审批流程,也可以对接钉钉、飞书和企业微信,让数据库变更沿用团队现有的协作与审批方式。


数据脱敏与审计
CloudDM 可以根据规则对查询结果中的敏感字段进行脱敏,规则范围可以精确到环境、实例、数据库、表、视图和列。管理员还可以结合用户权限与生效范围,控制不同人员看到的数据内容。
平台提供操作审计和 SQL 执行审计,用于查询谁在什么时间执行了什么操作。CloudDM 4.0 还新增了 SQL 审计日志保存天数设置,并优化了操作审计列表与导出能力。

数据库 CI/CD
CloudDM 支持通过 Git Push、Web Hook 和 HttpCall 触发数据库 CI/CD 流程,可将 SQL 检查、审批和执行纳入应用发布过程。团队可以统一管理数据库变更脚本,减少应用发布与数据库变更相互脱节的问题。

统一认证与企业集成
CloudDM 支持 OpenLDAP、Windows AD、OIDC、钉钉、飞书和企业微信等统一认证或登录方式。4.0 版本将 SSO 认证提供商和审批引擎拆分为独立配置页面,并提供 IM、Git、SSO 和审批表单等集成配置文档入口,方便管理员集中维护企业系统集成。

技术选型
CloudDM 的主要开发语言为 Java、JavaScript 和 TypeScript,4.0 版本新增对 JDK 17 的支持。
快速部署
CloudDM 支持单机模式(Alone)和集群模式(Console + Sidecar),同时支持安装包、Docker 和 Kubernetes 等部署方式。对于数据库分布在不同网络或机房的团队,可以通过 Console 与 Sidecar 管理数据源,无需为数据库开放公网访问端口。
如果只是本地体验,可以通过 Docker 快速启动 CloudDM 单机版。
运行下列命令前,请确认本机已安装 Docker;如未安装,可参考 Docker 官方安装文档。
Docker 启动
海外镜像:
bash
docker run -d --name cgdm-alone \
--restart always \
-p 8222:8222 \
-v cgdm_alone_conf:/root/cgdm/alone/conf \
-v cgdm_alone_logs:/root/cgdm/alone/logs \
-v cgdm_alone_data:/root/cgdm/alone/data \
-v cgdm_mysql_data:/var/lib/mysql \
bladepipe/cgdm-alone:latest
国内镜像:
bash
docker run -d --name cgdm-alone \
--restart always \
-p 8222:8222 \
-v cgdm_alone_conf:/root/cgdm/alone/conf \
-v cgdm_alone_logs:/root/cgdm/alone/logs \
-v cgdm_alone_data:/root/cgdm/alone/data \
-v cgdm_mysql_data:/var/lib/mysql \
cloudcanal-registry.cn-shanghai.cr.aliyuncs.com/clougence/cgdm-alone:latest
镜像启动完成后,在浏览器中访问 http://localhost:8222,按照页面提示完成数据库配置和管理员账号初始化,即可进入 CloudDM。
源码地址
GitHub:github.com/ClouGence/o...
Gitee:gitee.com/clougence/o...