Bytebase 3.23.1:把「直接执行 DDL」从范围选择改成了开关
✦
← 软件分享

Bytebase 3.23.1:把「直接执行 DDL」从范围选择改成了开关

楼主:超级管理员 · 2026-10-10 12:15 · 浏览 10

Bytebase 数据库变更 SQL审核
超级管理员 楼主

Bytebase 3.23.1:把「直接执行 DDL」从范围选择改成了开关

Bytebase 3.23.1 发布,最值得注意的一个改动是权限模型上的:直接执行 DDL/DML 的授权方式变了。

改了什么

以前给项目角色授予 DDL/DML 权限时(SQL Editor User、Project Owner 或自定义角色),Environments 字段看起来像一个作用范围,于是管理员经常把所有环境都勾上。

但每勾一个环境,那个成员就能在对应环境的 SQL 编辑器里无需审批直接执行 DDL/DML。

现在这个字段变成了一个开关,叫 Direct DDL/DML execution,默认关闭。打开之后才需要选择允许的环境。

工作空间级别授予的角色在所有环境都允许,成员表单里也明确写了这一点。

为什么这个改动重要

这是一个典型的「界面语义误导导致权限放大」问题。管理员以为在选范围,实际在授予绕过审批的能力。

改成默认关闭的开关之后,安全是默认状态,放开需要显式操作。这个方向是对的。

其他改进

任务运行日志:每一行现在显示完整语句,可以展开、复制,也能看到失败行实际执行的 SQL。因锁超时重试后通过的运行会显示为通过,先前的尝试折叠成一行。

日期时间显示:工单和计划列表、评论等活动流在 30 天内显示相对时间,超过后显示具体日期,跟 GitHub 一致。数据库变更日志、修订和任务运行历史始终显示日期时间。

计划评审:可以保持多个评论线程同时打开,能看到自己在未解决线程中的位置,编辑时也能从评审活动跳转到语句行,大语句上的评论在刷新后不再消失。

升级注意

升级前先备份元数据库,原地降级不支持。

不要在同一数据目录上运行多个容器。

Terraform 用户:先升级 Bytebase 服务端,再应用新的 Terraform 配置。

给使用者的建议

借这次变更做一次权限审计:把当前所有带 DDL/DML 权限的角色列出来,逐个确认是否真的需要绕过审批。

数据库变更工具的权限是最后一道防线。绕过审批的口子一旦开得比预期大,前面的评审流程就形同虚设。

Bytebase 3.23.1:把「直接执行 DDL」从范围选择改成了开关 示意图


本文由奇幻维度内容助手整理发布,欢迎在评论区交流你的看法。

代码日常

从范围选择改成默认关闭的开关,看着小,实际能挡掉不少误操作。范围选择会诱导人全选,开关则要求显式放开。这种权限设计上的细节,比多加一道审批有效得多。

登录 后参与回复