暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

高效 & 安全的 Bytebase SQL 编辑器

Bytebase 2023-01-16
628

新一代 SQL 编辑器的特性
随着数据库 DevOps 的快速发展,应用程序开发人员和 DBA 都加入到数据库变更管理 (https://www.bytebase.com/blog/what-is-database-change-management) 的工作中。其中,应用程序开发人员负责编写 SQL 脚本完成具体业务的数据库变更和查看查询结果。DBA 则通过制定规则策略,管理资源权限,并协同应用程序开发人员完成数据库变更,来保证数据库规范、安全和高效地运行。

众所周知,SQL 客户端是运行 SQL 语句和数据库管理命令的重要工具。与经典的 SQL 工具相比(例如 CLI, Navicat),适用于数据库 DevOps 团队的 SQL 编辑器应具有以下特性:

  • 友好的用户体验:可高效地编写、查看和运行 SQL 语句,可方便地查看数据库 schema 和浏览数据查询结果。

  • 协同共享:支持保存 SQL 脚本,并可分享给团队其他成员。

  • 高安全性:支持数据库访问权限控制、数据查询脱敏、数据库管理命令执行管控、变更语句管控、以及 SQL 语句执行审计日志。


Bytebase SQL 编辑器
Bytebase 1.9.1 发布了新一代 SQL 编辑器:https://www.bytebase.com/docs/sql-editor/overview,具有以下特色功能:
  • 管理员模式:Bytebase 在 SQL 编辑器中提供管理模式,允许 DBA 执行数据库管理命令,可以替代标准的 database 命令行客户端。

  • 基于数据库的访问控制开发者无权限在 SQL 编辑器查询受保护环境中的数据库。但 DBA 可以配置数据库白名单,授予开发者查询权限。

  • 数据脱敏开发者在 SQL 编辑器中查询数据时,敏感列的查询结果将被匿名化处理。它适用于所有查询类型,例如子查询、JOIN、公用表表达式(CTE)。

  • 基于角色的变更语句管控开发者对指定数据库发起 DDL 或 DML 变更将自动触发审核流程。

  • 审计日志Bytebase 审计日志记录了在 SQL 编辑器中执行过的所有查询。

  • 协同工作表DBA 和开发人员可以将编写的 SQL 语句保存为工作表,并共享给团队成员。除此之外,该版本支持将上传的 SQL 脚本(单个文件不超过 100M)保存为工作表,以便在工单中使用。

  • 良好的用户体验该版本不仅提供了全新交互体验,还优化了代码自动补全功能。

管理员模式

当用户想直连到数据库运行管理命令时,以 DBA 账户登录后,可在 SQL 编辑器管理员模式下执行此数据库管理命令,如下图所示。查看文档 Admin Mode: https://www.bytebase.com/docs/sql-editor/admin-mode 了解管理员模式。

基于数据库的访问控制

当用户需要向开发者开放生产环境中部分数据库的访问权限时,以 DBA 的账户登录后,将生产环境标记为受保护的环境并配置数据访问白名单即可。浏览文档 Database Access Control:  https://www.bytebase.com/docs/administration/database-access-control 了解数据库访问控制功能。

数据脱敏

当开发人员在 SQL 编辑器中查询包含敏感列的表时,这些列的查询结果将被脱敏显示为 “******”。查看文档 Anonymize Data:  https://www.bytebase.com/docs/administration/anonymize-data 了解配置的详细信息。

基于角色的变更管控

当开发者在 SQL 编辑中执行 DDL 或 DML 时,系统会引导用户创建对应 DDL 或 DML 工单,根据配置的审批策略执行变更。如下图所示,开发者在 SQL 编辑器中运行 DDL 语句,系统会弹窗引导用户创建工单。

审计日志

DBA 通过审计日志查看在 SQL 编辑器中执行过所有命令。查看文档 Audit Log: https://www.bytebase.com/docs/administration/audit-log 了解审计日志功能。

协同工作表

对于常用的 SQL语句,可以将它们保存为工作表,给团队建立一个公共的 SQL 脚本库。对于大 SQL 脚本(最大 100M),可以将它们上传后保存为工作表,在进行数据库变更时使用(下图)。
具体可参考文档 Manage SQL Scripts with Sheet: https://www.bytebase.com/docs/sql-editor/manage-sql-scripts

小结
Bytebase 现已支持 MySQL, PostgreSQL, TiDB, ClickHouse, Snowflake 以及 MongoDB 数据库,将其实例添加到 Bytebase 后,即可使用 Bytebase SQL 编辑器实现
  • 数据库管理命令运行管控

  • 数据查询脱敏(暂仅支持 MySQL)

  • 数据库访问权限控制,基于角色变更管控

  • 常用 SQL 脚本保存与分享

  • 审计日志查看 SQL 编辑器中执行过的命令
查看 SQL Editor 文档:https://www.bytebase.com/docs/sql-editor/overview 了解更多,使用过程中遇到任何问题或需求,欢迎加入 Bytebase 用户群反馈交流。ଘ(੭ˊᵕˋ)੭

Bytebase v1.11.0 2023.01.12
混迹 Hacker News (HN) 一年的一点经验
数据库年度报告:回望 2022
Star History 2022 年度精选|Data, Infra & Tools 开源项目

文章转载自Bytebase,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论