授权的颗粒度不对
账号给得到「能连这台库」,给不到「能跑 SELECT,但 DROP 要转审批」。
它答不出真正要紧的那个问题:这条语句,此时此地,该不该跑。
账号给得到「能连这台库」,给不到「能跑 SELECT,但 DROP 要转审批」。
工单批完,人还是自己连上去跑 —— 批的是哪条、跑的是哪条,系统都不知道。
日志散在各台机器的 general log 里,而能拿到库的人通常也拿得到日志。
4 层规则都按分层存,而分层不是环境:prod-hk 与 prod-sh 挂在同一个分层上,加一台生产实例不复制任何规则行。
dictDenyPROD 禁止直接执行,需转审批本演示在浏览器内离线运行,逻辑移植自网关的判定引擎,规则取内置默认种子。你的部署可以改字典、改能力矩阵、改分层属性 —— 判定会跟着变。 多语句按分号拆开逐条判:引号、注释、MySQL 可执行注释与自定义分隔符都认。存储过程整块这类脚本形态不在承诺内 —— 判那种脚本请用产品本身。
每一件的机制与边界,工作原理页与安全页展开写着。
判定挂在六条入口共同调用的那个函数里,不挂在入口上。批量粘贴按分号拆开逐条判,整批取最严的那条。
终端工单:批准只是授权,得有人回来自己点执行,每一道闸按实际按按钮的那个人重算。发布单:执行归流水线的执行阶段。执行窗口单与导出单:根本没有可执行的命令。
窗口要走审批、按库开,时间过了就不再覆盖当下时刻。它只把「转审批」降成「放行」,deny 从不放宽。
hash = SHA256(前一条 hash + 本条内容),而 prev_hash 上一个单列唯一索引让链分叉由数据库拒绝,不靠应用自觉。
整个网关只有两处把用户 SQL 的结果行读出来:终端结果与数据导出,脱敏就挂在这两处。
内置 87 条规则:62 条引自公司四份数据库规范并标注出处,25 条平台自加。它不参与执行判定。
用真实规则数据渲染的界面级复刻,不是截图。下面这张审批单已经通过了,按钮上写的仍然是「执行」。
AP-20260919-0042已通过SQL
ALTER TABLE orders ADD COLUMN note varchar(64)命中规则
dictDenyPROD 禁止直接执行,需转审批审批链
执行前会再判一次规则 —— 这张单可能在待办里停了几个小时。
示意按钮,不可点击 —— 通过 ≠ 代为执行(见工作原理页「第二层」)。
控制台界面复刻 · 非截图
新建实例的引擎下拉即这 7 项,分族看的是「说哪种线协议」,不是厂商。判定看到的永远是你输入的原文 —— 元命令在判定之后才翻译。
下拉里的 PolarDB 指 MySQL 兼容版 —— PolarDB for PostgreSQL 讲的是 PostgreSQL 协议,归另一族。
起跑前要有一台本机 PostgreSQL,服务启动时自己跑完迁移。
# 前置:createdb vela_gateway
cd backend && go run ./cmd/server# Vite 把 /api 代理到 :8080
cd frontend && npm install && npm run dev