从一人到全员,AI查库悄然蔓延
半年前,团队里只有一个人能通过AI工具查询生产数据库。如今,几乎所有人都能这么做。有人把连接串粘贴进AI助手,发现效果不错,这个做法就迅速传开。现在,三名工程师、一名产品经理和一名支持负责人,都在用聊天机器人提问,这些问题会悄悄变成针对实时数据的SELECT语句。
这件事本身确实有用,但它同时也是一个治理盲区。如果某天有人问“为什么这个客户上周二的数据看起来不对劲”,你能回答是谁、或者是什么东西运行了触及这些记录的查询吗?在连接串四处散落、凭证共用的现实里,诚实的答案通常是“不知道”。
本文要讨论的,就是如何补上这个缺口:在让团队获得AI驱动的数据库访问能力的同时,保持访问可识别、可限定范围、可审计。目标不是拖慢任何人的速度,而是确保当访问规模从一个人扩展到二十个人时,你仍然清楚正在发生什么。
共享密钥与无迹可查的失败模式
人们把AI工具接入数据库的默认方式,就是直接给它一个连接串:
postgresql://app_user:s3cr3t@db.internal:5432/production
如果整个团队都这么做,就会同时继承四个问题。所有人共享同一个数据库身份,因此日志里的每条查询看起来都一模一样。密钥出现在提示词、聊天记录、配置文件和截图里。轮换密钥意味着要追查每一处被粘贴过的地方。而且数据库完全无法判断,某条语句到底是人发出的,还是模型发出的。
数据库自带的审计日志在这里救不了你,因为从它的视角看,只有一个用户app_user在做所有事。你已经丢失了治理最需要的两个事实:访问属于哪个人,以及他们的工具是否被允许做它所做的操作。
好的形态:在AI与数据库之间加一层代理
修复这个问题的模式,是在AI客户端与数据库之间放置一个代理,通常是一个MCP(模型上下文协议)服务器。每个工具不再直接持有原始凭证,而是连接到一个受治理的网关,由网关持有连接并执行规则。
模型上下文协议是一个开放标准,用于通过一致接口把AI助手连接到外部系统。对数据库来说,MCP服务器暴露一小组操作,比如列出表、获取模式、运行只读查询,并成为身份、权限和日志的唯一集中地。
让所有人都经由同一个网关,能带来散落连接串无法提供的五个特性。像Draxlr这样的托管MCP服务器实现了这种形态,通过OAuth连接、只读、凭证保存在服务端,但模式本身比任何具体产品都重要。你也可以在内部自建同样的东西,下面的内容对两种方式都适用。
建立审计轨迹
无论使用哪种代理,不可妥协的一点是记录每条查询的日志,并附带足够的上下文,以回答“谁做的、为什么做”。至少要捕获操作者身份、SQL语句、目标对象等信息。这样,当有人追问某条数据为何被访问时,日志能够给出明确指向,而不是让所有人面面相觑。
审计轨迹的核心价值,在于把“不知道”变成“可以查”。当访问规模继续扩大,这种可追溯性不会自然出现,必须从一开始就设计进去。否则,团队越依赖AI查库,治理的窟窿就越大。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.