☁Zero Trust 上手指南
简体中文
Telegram Cloudflare 文档 ↗

模块 7c — AI Gateway:保护与实施

目标: 把 Cloudflare AI Gateway 置于你的应用与智能体所调用的 AI 模型之前——让每一次程序化 AI 请求都经过认证、可观测、成本受控、对不安全内容做审核,并用你的 Zero Trust DLP 配置文件扫描敏感数据。

👤 谁来做 平台 / AI 工程 + 安全团队
⏱️ 用时 约 40 分钟
🎯 完成后你将拥有 一个在你的 AI 提供商之前、带护栏、DLP、日志与成本控制的、经认证的 AI Gateway
✋ 开始前 一个调用 AI 模型的应用/智能体(OpenAI、Anthropic、Workers AI、Google…)。DLP 扫描使用 Zero Trust DLP 配置文件(模块 6)——Enterprise。

🧭 AI Gateway 的定位。 模块 7 治理在浏览器中使用 AI 的人。模块 7b 治理连接工具(MCP)的 AI 智能体。AI Gateway 治理另一个方向:你自己的应用与智能体通过 API 调用 AI 模型。 它是位于你的代码与 AI 提供商之间的代理,因此你无需更换模型或提供商即可获得控制与可见性——且关键在于,它工作在 API 层,无需设备客户端或 TLS 解密。

   你的应用 / 智能体 / 编码工具
            │  (把 base URL 改为 gateway 端点)
            ▼
   ┌─────────────────────────────────────────────┐
   │           CLOUDFLARE AI GATEWAY             │
   │  认证 ▸ 护栏 ▸ DLP ▸ 速率/花费上限            │
   │  ▸ 缓存 ▸ 日志 ▸ 回退                        │
   └───────────────────┬─────────────────────────┘
                       ▼
   AI 提供商:OpenAI · Anthropic · Workers AI · Google · …

A 部分 — 创建并连接一个 gateway

  1. 👉 在 Cloudflare 控制台,前往 AI → AI Gateway。
  2. 👉 点击 Create Gateway,起个名字(如 production),创建。
    • 📺 你会看到该 gateway 的 OpenAI 兼容端点与设置指引。
    • 💡 捷径: 你也可以直接用 gateway ID default——AI Gateway 会在首次请求时自动创建它。
  3. 👉 把你的应用指向该 gateway。 在代码中,把 AI 提供商的 base URL 改为你的 gateway 端点:
    https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/{provider}
    
    例如,OpenAI 客户端的 base URL 变为 …/{account_id}/production/openai。无需其他代码改动——gateway 会转发到提供商。
  4. 👉 从你的应用发送一个测试请求。

✅ 检查点: 在 AI → AI Gateway → 你的 gateway 中,该请求带指标出现(请求数、tokens、成本、延迟)。流量现在正流经 gateway。

💡 无需 WARP 客户端、无需 TLS 解密、无需网络改动——AI Gateway 是 API 层的控制点。这正是它适合后端服务、批处理作业与自主智能体的原因。


B 部分 — 保护 gateway(Authenticated Gateway)

默认情况下,任何知道端点 URL 的人都可能通过它发送请求。把它锁定,只让你授权的调用方使用。

  1. 👉 在你的 gateway 中,打开 Settings。
  2. 👉 启用 Authenticated Gateway。
  3. 👉 创建一个 AI Gateway 认证令牌,存入你的密钥管理器。
  4. 👉 让你的应用在每个请求上把它作为请求头发送:
    cf-aig-authorization: Bearer <your-aig-token>
    

✅ 检查点: 不带令牌的请求被拒绝;带令牌的请求成功。即使端点 URL 泄露,也无法被滥用。

⚠️ 注意: 该令牌认证的是对 gateway 的使用;你的提供商 API 密钥是独立的。考虑用 BYOK / Store Keys(Settings),让提供商密钥存放在 Cloudflare 中,永不随应用代码分发。


C 部分 — 护栏(Guardrails,阻止不安全内容)

Guardrails 对流经 gateway 的内容做审核——在有害或不当的提示词与响应到达用户或模型之前将其捕获。

  1. 👉 在 gateway → Settings → Guardrails → 启用。
  2. 👉 设置评估范围:审核用户提示词、模型响应,或两者。
  3. 👉 选择要监控的危害类别,并为每一类决定 Block(阻止)或 Flag(放行但记录)。
  4. 👉 保存。

✅ 检查点: 属于被阻止危害类别的提示词/响应被拦截(或在日志中被标记),在 gateway 的日志中可见。

💡 Guardrails vs DLP: Guardrails 处理安全性(有毒、有害、不安全内容);DLP(下一部分)处理敏感数据(PII、密钥、源代码)。两者都用。


D 部分 — DLP for AI Gateway(扫描敏感数据) (Enterprise)

这就是 Zero Trust 集成:AI Gateway 可以用你的 Zero Trust DLP 配置文件——即你在 模块 6 构建的相同配置文件——扫描请求与响应的文本,无需 HTTP 过滤、无需 TLS 解密。

  1. 👉 在 gateway → Features → DLP → Set up。
  2. 👉 选择要应用的 DLP 配置文件——如 Credentials and Secrets、PII,或一个 AI Prompt 配置文件(PII、源代码、金融、越狱/意图主题;甚至自定义自然语言提示词主题)。
  3. 👉 用 Check 选择扫描什么:Request(发往模型的提示词)、Response(模型返回的内容),或 Both。
  4. 👉 设置命中时的动作——flag(记录)或 block(阻止)。
  5. 👉 保存。

✅ 检查点: 含有伪造密钥/测试 PII 的请求被标记或阻止,且检测结果连同匹配的配置文件出现在日志中。

⚠️ 流式传输注意事项(对延迟很重要): 若你启用 Response 扫描,AI Gateway 会在返回前缓冲完整的提供商响应,这会增加首字延迟(TTFT)——对流式输出的聊天/编码智能体较明显。若你需要低延迟流式传输,设 Check = 仅 Request,或把对延迟敏感的流量路由到一个独立的 gateway。

💡 非常适合编码智能体: Cursor/Claude Code 等工具会把源代码、配置与密钥发送给模型提供商。由于 AI Gateway 位于路径之中,DLP 能在不修改智能体的情况下捕获离开(或返回)的密钥/受监管数据。


E 部分 — 成本、速率与隐私控制

AI Gateway 还提供运营层面的护栏:

控制 作用 位置
速率限制 限制窗口内的请求数量 Settings → Rate limiting
花费上限 限制美元成本(按模型、提供商或自定义元数据——如每用户 $200/天) Features → Spend limits
缓存 对相同请求从缓存返回——降低延迟 + 提供商成本 Settings → Cache Responses
回退 / 重试 提供商出错时自动重试或回退到另一模型 Configuration → Fallbacks
日志载荷控制 发送 cf-aig-collect-log-payload: false 只记录元数据,不存储提示词/响应正文 逐请求的请求头

💡 隐私提示: 对受监管数据,使用 cf-aig-collect-log-payload: false,即可保留使用指标(tokens、成本、模型、状态)而不持久化敏感的提示词/响应文本。

⚠️ 不要在 与 AI Search / RAG 实例共用的 gateway 上启用缓存或速率限制——它会干扰嵌入/索引。请为其使用一个专用 gateway。


F 部分 — 观测与验证

  1. 👉 在 gateway 中,查看 Analytics(请求、tokens、成本、缓存命中率、错误)与 Logs(逐请求:模型、提供商、状态、成本、时长、user agent,以及——除非已禁用——载荷)。
  2. 👉 筛选日志,确认你的 认证、Guardrails 与 DLP 动作如预期触发。
  3. 👉 端到端测试:发送 (a) 正常请求 → 成功;(b) 缺少认证令牌的请求 → 被拒;(c) 含不安全内容的提示词 → 护栏阻止;(d) 含测试密钥的提示词 → DLP 标记/阻止。

✅ 检查点: 四种情况都行为正确且在日志中可见。


✅ 模块 7c 完成!

你现在拥有:

  • ✅ 位于你的 AI 提供商之前的 AI Gateway(单一端点、多提供商)
  • ✅ Authenticated Gateway——只有授权的调用方能使用
  • ✅ Guardrails 阻止提示词/响应中的不安全内容
  • ✅ DLP 用你的 Zero Trust 配置文件扫描提示词/响应中的敏感数据
  • ✅ 成本、速率、缓存与隐私控制
  • ✅ 对每次 AI 调用的完整日志与分析

完整的 AI 安全全景

层级 治理对象 模块
浏览器 AI 使用 人们粘贴进 ChatGPT 等 7 — AI 管控
AI 智能体 → 工具 MCP 服务器与门户 7b — 保护 AI 与 MCP
你的应用 → AI 模型 程序化/API AI 7c(本篇)
发现并批准 AI 应用 影子 AI 5d — 影子 IT
敏感数据检测 DLP 配置文件 6 — DLP

快速排障

问题 解决办法
请求绕过了 gateway 确认应用的 base URL 指向 gateway 端点(A 部分)
任何人都能使用该 gateway 启用 Authenticated Gateway 并发送 cf-aig-authorization 请求头(B 部分)
DLP → Set up 不可用 DLP for AI Gateway 使用 Zero Trust DLP——确认 Enterprise 且配置文件已存在(模块 6)
启用 DLP 后流式传输变慢 响应扫描会缓冲完整回复——设 Check = 仅 Request 或使用独立 gateway(D 部分)
敏感提示词被存进日志 发送 cf-aig-collect-log-payload: false 只记录元数据(E 部分)
AI Search 准确度下降 不要在 RAG 实例所用的 gateway 上启用缓存/速率限制(E 部分)

👉 下一步:模块 8 — Cloudflare WAN

把整个办公室和数据中心接入 Cloudflare 网络。