只读查询五层护栏
01

身份:独立只读账号

02

范围:库表列允许清单

03

语句:解析与危险操作阻断

04

资源:扫描、并发和超时

05

审计:问题、查询、结果与版本

结论:数据库权限是最后防线

模型可能受歧义、提示注入或生成错误影响,因此不能把“不要修改数据”只写在系统提示词里。连接账号本身应没有写入、建表、授权和管理权限。

生产源优先通过只读副本、受控视图或查询服务访问,减少分析负载和原始敏感字段暴露。

执行前解析而不是只搜关键词

关键词拦截容易被注释、方言和嵌套语句绕过。使用 SQL 解析器检查语句类型、目标对象、函数、子查询和多语句,并拒绝无法安全解析的请求。

同时限制可查询的库、表、列和关系路径;不存在于允许清单的对象不应自动开放。

控制资源和结果规模

设置扫描量、返回行数、执行时间、并发和成本上限,先执行估算或解释计划。超限时建议缩小时间或使用聚合,而不是让查询拖慢业务系统。

对明细导出和大范围查询设置单独审批,避免一个合法问题造成不必要的数据复制。

缓存也必须继承权限

缓存键包含用户、组织、项目、数据范围、语义和策略版本。权限撤销后使相关缓存和分享失效。

审计记录问题、生成查询、执行身份、数据截止、策略命中和结果摘要,但避免在日志中复制完整敏感数据。

用攻击性查询验收护栏

测试写入、删除、系统表、超大扫描、跨库、注释绕过、嵌套危险函数和权限变化后的缓存。确认数据库与执行层都能阻断。

AskTable.ai 的数据连接与权限管理可进入这套验证;具体数据库方言、查询代理、资源限制和审计字段需按部署确认。

公开参考资料

准备好让团队开始了吗?

预约一次场景交流,了解 AskTable.ai 如何接入你的业务。

预约演示