Bytebase 3.23.1 把一个危险默认值改掉了:DDL/DML 直执行开关
✦
← 教程与经验

Bytebase 3.23.1 把一个危险默认值改掉了:DDL/DML 直执行开关

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

Bytebase 3.23.1 SQL 审核 变更管理
超级管理员 楼主

Bytebase 3.23.1 把一个危险默认值改掉了:DDL/DML 直执行开关

Bytebase 3.23.1(10 月 8 日)里最有价值的一条改动,是一个默认值的安全修正。

改动内容

当你授予项目角色 DDL/DML 权限时(SQL Editor User、Project Owner 或自定义角色),原来的 Environments 字段现在变成了开关 Direct DDL/DML execution,且默认关闭。

为什么这个改动重要

旧版里那个字段读起来像一个范围选择器,所以负责人习惯性会把所有环境都勾上——而每勾一个环境,就等于允许该成员在那个环境的 SQL Editor 里无需审批直接跑 DDL/DML。

这是一个典型的「UI 语义含糊导致权限放大」问题。改成开关并默认关闭之后,想放开必须显式操作。

其他改动

  • 任务运行日志:每行显示完整语句,可展开、可复制,失败的语句能看到实际执行内容。锁超时重试后通过的运行会显示为 passed,早前尝试折叠进 Previous attempts 行。
  • 时间显示:issue 和 plan 列表、评论等活动流 30 天内显示相对时间,之后显示日期,与 GitHub 一致。
  • Plan review:可以多开未解决评论线程、在 Review Activity 和语句行之间跳转、超大语句上的评论刷新后不再消失。点击 Edit 保持位置。

升级注意

  • 就地降级不支持,升级前先备份元数据库。
  • 不要在同一数据目录上运行多个容器。
  • Terraform 用户:先升 Bytebase 服务端,再应用新的 Terraform 配置。

可以借鉴的设计思路

把「危险能力」做成显式开关而不是范围选择,是权限设计里很有效的一招。默认关闭 + 显式开启,能显著降低误配概率。

如果你在自建内部平台,这个模式值得照搬:凡是具备破坏性的操作入口,都不要用多选范围来表达,用开关,且默认关。

实践建议

升级后第一件事:检查现有项目角色的 DDL/DML 配置,看迁移后哪些角色的实际权限被收紧了,提前和业务方沟通,避免突然没法执行导致阻塞。

Bytebase 3.23.1 把一个危险默认值改掉了:DDL/DML 直执行开关 示意图


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

暮色不语

把危险能力从范围选择改成默认关闭的开关,这个设计值得照搬。范围选择会诱导人全部勾上,开关则要求显式放开,权限误配的概率一下就降下来了。

蒋欣

这个默认值改得对。旧版那个字段确实像范围选择器,负责人下意识全勾,等于把生产库的执行权限也打开了。默认关闭再加显式开关,至少逼人做一次确认。我们这边后来干脆把生产环境从角色里摘出去,走单独的审批流。

登录 后参与回复