Agent Skills
返回列表
🔒

pREST MCP 安全向代理暴露 Postgres

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/expose-postgres-safely-to-agents-with-prest-mcp。

技能介绍

解决数据库与代理之间的安全鸿沟

工程师在尝试将 LLM 代理连接到现有 PostgreSQL 数据库时,常面临两难。直接连接往往会暴露核心表结构与敏感数据,而自行编写中间件则开发周期长且难以维护。此外,AI 代理通常仅需要特定任务的读取权限,但数据库的权限管理往往是粗粒度的。本技能引入 pREST 作为中间适配层,确保数据库不被直接暴露,同时让代理能够安全地获取所需数据。

工作原理与核心能力

本技能基于 pREST MCP 服务,为现有 Postgres 数据库即时生成标准化的 REST API。在工作流中,工程师只需专注于定义数据访问规则:

  • 只读 MCP 端点:为 AI 客户端提供语义化接口,默认限制为 GET 操作,杜绝意外写入。
  • 多层安全管控:内置支持身份验证(auth)与访问控制列表(ACL),确保只有经过授权的请求才能到达后端。
  • 灵活的数据映射:支持自定义 SQL 查询路由。通过 GET /{database}/{schema}/{table} 调用,直接根据代理需求暴露特定的库与表。
  • 多数据库支持:可同时管理多个 Postgres 实例的连接,满足复杂数据环境的需求。

适用边界与注意点

尽管该方案显著降低了集成复杂度,工程师仍需在实际部署中评估暴露给代理的数据范围。技能强制只读操作,但仍需通过 ACL 隔离敏感表,防止代理获取非授权数据。此外,配置自定义 SQL 路由时,务必确保参数经过严格验证,以避免执行报错或引发安全风险。部署环境需支持 pRESTd 运行,并满足 PostgreSQL 9.5+ 的版本要求。

使用场景

  • 为外部数据分析代理提供用户订单表的只读访问,确保数据不被意外写入或篡改。
  • 在接入大语言模型前,通过配置ACL限制其仅能查询公开的商品目录库数据。
  • 通过自定义SQL路由,让客服代理能够跨多个数据库实例聚合查询统一的客户反馈表。
  • 需要为下游系统快速提供标准的REST API,避免直接向公网暴露核心数据库端口。

适合人员

  • 负责公司数据资产安全的DBA,希望在不暴露端口的前提下给AI代理授权查询特定表。
  • 正在构建AI客服后台的工程师,需要为大语言模型提供带有身份验证的安全数据接口。
  • 管理多个独立业务线数据库的运维人员,需要统一配置代理跨库读取特定视图的权限。