首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >开发者视角:如何在 AI Agent 时代安全地操作数据库

开发者视角:如何在 AI Agent 时代安全地操作数据库

原创
作者头像
NineData
发布2026-07-27 19:05:41
发布2026-07-27 19:05:41
1810
举报
文章被收录于专栏:云数据库技术云数据库技术

作为一个开发者,你可能已经试过用 AI Agent 或 Vibe Coding 工具来写代码了。效果确实不错:以前要花半天写的 CRUD 现在几分钟就能搞定,以前要在终端、IDE、Postman 之间来回切换的调试流程现在一句话就能交给 Agent 跑完。

但不知道你有没有想过一个问题:当 Agent 不只是帮你"写代码"而是要帮你"查数据库""改数据"的时候,你准备怎么给它权限?

最简单的做法当然是直接把数据库连接串丢给它。但你心里清楚这不太靠谱:连接串进了 Agent 的上下文就不好控制了;Agent 理解错了你的意思连错库怎么办;它生成的 SQL 如果有问题直接在生产环境跑了怎么办。

最近注意到 NineData 出了个叫 Skill 的东西,专门解决这个问题。

NineData Skill 是什么:给 Agent 加一层"数据库中间件"

说白了 NineData Skill 就是一套协议,让你的 Agent 在操作数据库的时候不是自己直接去连,而是通过 NineData 帮它去连。你在 Agent 里说的话会被翻译成 NineData 的 API 调用。

流程大概是这个样子:你在 Agent 里说"帮我查一下订单量" → Agent 调 NineData Skill 接口 → NineData 用它自己的连接去数据库执行 → 把结果拿回来给你的 Agent → Agent 再回复你。全程 Agent 不知道数据库密码。

对你来说最实在的好处就是:你能继续用 Agent 干活,但数据库的账号密码不用交给它,出了问题也有据可查。

Skill 让 Agent 能干的五件事

1. 先问你"要查哪个库"

你跟 Agent 说要查数据的时候,它第一步不是拼 SQL 而是先调 Skill 接口拿数据源列表。你从列表里选一个目标库,后面它就知道往哪发了。

这一步的好处是你不用把 host、port、username、password 这些信息喂给 Agent。它只需要一个数据源的 ID 就够了。

2. 帮你跑只读 SQL 但要先过规则

Agent 生成 SQL 之后会先给你看一眼:SQL 对不对、目标库是不是这个、查来干嘛的。你点了确认 NineData 才会去执行。

执行的时候 NineData 还会用规则引擎检查一遍。没问题就直接返回结果;有点疑问会让你再确认一下;明显不对的直接拒绝;如果是写操作的话会自动转成工单。

3. 帮你拉执行计划

有些 SQL 你想先看看它会不会太慢,Skill 支持在有权限的库上拿执行计划,帮你提前判断一下。

4. 写操作只能走工单

如果你的 SQL 里有 INSERT、UPDATE、DELETE、CREATE、ALTER、DROP 这些字眼,Agent 就没法直接执行了。它只能把这个 SQL 提交到 NineData 的 SQL 任务里变成一张工单。

提交之前它会先把目标库、完整 SQL、甚至回滚 SQL 都给你看。你确认了,NineData 才建任务进审批流。这样你用 AI 写 SQL 的速度快,但该走的审批流程一步都没少。

5. 查询结果要导出文件也走流程

你要是把查询结果导出成 CSV 或者 Excel,Agent 可以帮你提交一个导出任务,然后它就去盯状态。

导出这事是 NineData 在做主,Agent 只是帮忙催流程。它没办法绕过审批自己去把数据拽出来。

几个你必须关心的问题

让 Agent 操作数据库之后,有几个问题你得想清楚:它能访问哪些库?这条 SQL 它有没有权限跑?写出来的 SQL 规不规范?查出来的敏感数据会不会泄露?改表结构要不要审批?谁在什么时候干了什么?

以前这些事是你自己在操心,操作频率低而且每一步你都看得见。换成 Agent 之后操作可能多很多倍,而且它内部怎么决策的你未必看得懂。

所以 NineData Skill 的思路是:这些问题你还是交给 NineData 去管。权限看账号配置,SQL 质量看规则引擎,敏感数据看脱敏策略,变更操作看审批流,操作记录看审计日志。

而且 NineData 说了不算就不行,说了要审批就得等你点头。Agent 没有任何办法自己偷偷执行。

作为开发者你得到了什么

不用切来切去了。在 Agent 聊天界面里就把数据的事办了,而且你知道背后有规则在保护你。

你们团队的 DBA 也不会找你麻烦,因为你用 Agent 干的所有事情都过了 NineData 的权限、规则和审批,控制台里全看得到。

对公司来说这也是个好事:AI 效率提上来了,但安全合规这块没有打折扣。

实际跑一遍看看效果

打开 NineData 控制台,左边菜单找 Skill。页面上有说明、下载按钮和能力列表。

IMG_256
IMG_256

点右上角的小图标能看到详细说明,包括每种操作分别能干什么、有限制什么。

IMG_257
IMG_257

点下载拿到 zip 包,然后照着页面提示装到你用的 Agent 工具里就行了。

IMG_258
IMG_258

Demo 1:跑一条只读 SQL

Agent 用 SQL 执行能力提交一条最简单的查询。

SELECT 1 AS ninedata_skill_demo;

NineData 回复 EXECUTED,规则检查 0 错误 0 警告,返回 1 行,耗时约 18ms。

IMG_259
IMG_259

Demo 2:建表走审批

Agent 用 SQL 任务能力提交一条建表语句。

CREATE TEMPORARY TABLE ninedata_skill_demo_20260721 (id INT PRIMARY KEY);

平台预审通过(0 错误 2 警告),提交审批后你批准了就执行成功了。

IMG_260
IMG_260

Demo 3:导出数据

Agent 用导出能力提交查询,指定 CSV 格式和 UTF-8。

SELECT 1 AS ninedata_skill_export_demo;

流程走完后状态是 success,CSV 文件已经生成好了。

IMG_261
IMG_261

三个 Demo 讲清楚了同一件事:不管你是查数据、改数据还是导出数据,都是在 NineData 的管控下按流程走的。

最后说一下

AI Agent 确实在变得越来越强,从帮你写代码到帮你操作数据库,这个趋势很明显。但越接近生产环境,安全这件事就越不能马虎。

NineData Skill 做的就是在 Agent 和数据库之间加一层靠谱的中介:让 AI 该干活干活,但每一步都在你的掌控之中。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • NineData Skill 是什么:给 Agent 加一层"数据库中间件"
  • Skill 让 Agent 能干的五件事
  • 几个你必须关心的问题
  • 作为开发者你得到了什么
  • 实际跑一遍看看效果
  • 最后说一下
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档