将数据丢失防护 (DLP) 添加到任意 AI Gateway,即可开始扫描 AI 提示和响应中的敏感数据。
- 已有 AI Gateway
- 登录 Cloudflare 仪表板 ↗并选择你的账户。
- 前往 AI > AI Gateway。
- 选择要启用 DLP 的 gateway。
- 前往 Firewall(防火墙) 选项卡。
- 将 Data Loss Prevention (DLP) 切换为 On。
启用 DLP 后,你可以创建策略来定义如何处理敏感数据:
-
在 DLP 部分下,点击 Add Policy(添加策略)。
-
为每个策略配置以下字段:
-
Policy ID(策略 ID):为此策略输入唯一名称(例如,"Block-PII-Requests")
-
DLP Profiles(DLP 配置文件):选择要对照检查的 DLP 配置文件。AI 请求/响应将对照每个选定的配置文件进行检查。可用配置文件包括:
- Financial Information(财务信息) - 信用卡、银行账户、路由号码
- Personal Identifiable Information (PII)(个人身份信息 (PII)) - 姓名、地址、电话号码
- Government Identifiers(政府标识符) - SSN、护照号码、驾驶证
- Healthcare Information(医疗信息) - 病历号、患者数据
- Custom Profiles(自定义配置文件) - 组织特定的数据模式
-
Action(操作):选择任一选定配置文件匹配时要采取的操作:
- Flag(标记) - 记录检测结果用于审计,但不阻止
- Block(阻止) - 阻止请求/响应继续
-
Check:选择要扫描的内容:
- Request - 扫描发送到 AI 提供商的用户提示
- Response - 扫描 AI 模型响应,再返回给用户
- Both - 同时扫描请求和响应
-
-
点击 Save(保存) 保存策略配置。
你可以创建具有不同配置的多个 DLP 策略:
- 添加多个策略:点击 Add Policy(添加策略) 创建具有不同配置文件组合或操作的其他策略
- 启用/禁用策略:使用每个策略旁的开关单独启用或禁用,无需删除配置
- 编辑策略:点击任何现有策略以修改其设置
- 保存更改:进行任何更改后始终点击 Save(保存) 以应用
配置 DLP 设置后:
- 通过 gateway 发起包含示例敏感数据的测试 AI 请求。
- 检查 AI Gateway Logs(AI Gateway 日志),验证 DLP 扫描是否正常工作。
- 查看检测结果,并根据需要调整配置文件或操作。
DLP 事件已集成到你的 AI Gateway 日志中。当 DLP 策略匹配时,日志条目会在提供商、模型、token 和费用等标准日志字段旁边包含匹配详情。
- 前往 AI > AI Gateway > 你的 gateway > Logs(日志)。
- 选择任意日志条目以查看详细信息。对于触发 DLP 策略的请求,日志条目包含额外的 DLP 字段:
| 字段 | 描述 |
|---|---|
| DLP Action | DLP 策略执行的操作:FLAG 或 BLOCK |
| DLP Policies Matched | 匹配的 DLP 策略 ID |
| DLP Profiles Matched | 每个匹配策略内触发的 DLP profile ID |
| DLP Entries Matched | 每个 profile 内匹配的具体检测 entry ID |
| DLP Check | 匹配发生在 REQUEST、RESPONSE,还是两者 |
通过 Logs API 检索日志时,DLP 策略匹配的请求日志条目在响应中包含 DLP 专用字段。这些字段包含与仪表板和 cf-aig-dlp 响应标头中显示的相同匹配数据,包括所采取的操作、匹配的策略 ID、匹配的配置文件 ID 以及条目 ID。
有关日志字段的更多信息,请参阅日志记录文档。
要仅查看与 DLP 相关的请求:
- 在 Logs(日志) 选项卡上,选择 Add Filter(添加筛选器)。
- 从过滤选项中选择 DLP Action(DLP 操作)。
- 选择按以下条件过滤:
- FLAG - 仅显示标记了敏感数据的请求
- BLOCK - 仅显示因 DLP 策略被阻止的请求
当 DLP 策略被触发时,你的应用将通过响应标头和错误代码收到额外信息。
当请求匹配 DLP 策略(无论是标记还是阻止)时,会返回额外的 cf-aig-dlp 标头,其中包含有关匹配的详细信息:
{
"findings": [
{
"profile": {
"context": {},
"entry_ids": ["string"],
"profile_id": "string"
},
"policy_ids": ["string"],
"check": "REQUEST" | "RESPONSE"
}
],
"action": "BLOCK" | "FLAG"
}{
"findings": [
{
"profile": {
"context": {},
"entry_ids": [
"a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"f7e8d9c0-b1a2-3456-789a-bcdef0123456"
],
"profile_id": "12345678-90ab-cdef-1234-567890abcdef"
},
"policy_ids": ["block_financial_data"],
"check": "REQUEST"
}
],
"action": "BLOCK"
}使用此标头可以以编程方式检测匹配了哪些 DLP 配置文件和条目、触发了哪些策略,以及匹配发生在请求还是响应中。
当 DLP 阻止请求时,你的应用将收到结构化错误响应:
-
请求被 DLP 阻止
"code": 2029"message": "Request content blocked due to DLP policy violations"
-
响应被 DLP 阻止
"code": 2030"message": "Response content blocked due to DLP policy violations"
在应用中处理这些错误:
try {
const res = await env.AI.run('@cf/meta/llama-3.1-8b-instruct', {
prompt: userInput
}, {
gateway: {id: 'your-gateway-id'}
})
return Response.json(res)
} catch (e) {
if ((e as Error).message.includes('2029')) {
return new Response('Request contains sensitive data and cannot be processed.')
}
if ((e as Error).message.includes('2030')) {
return new Response('AI response was blocked due to sensitive content.')
}
return new Response('AI request failed')
}- 从标记开始:先使用 "Flag" 操作了解检测到哪些数据,再实施阻止
- 调整置信度级别:根据对误报的容忍度调整检测灵敏度
- 使用合适的配置文件:选择符合数据保护要求的 DLP 配置文件
- 定期监控:审查 DLP 事件以确保策略按预期工作
- 充分测试:在生产部署前使用示例敏感数据验证 DLP 行为
有关一般 AI Gateway 故障排除,请参阅故障排除。
- 验证 gateway 的 DLP 开关已启用
- 确保选定的 DLP 配置文件适合你的测试数据
- 确认置信度级别未设置过高
- 查看 DLP 日志以了解触发了哪些配置文件
- 考虑降低有问题配置文件的置信度级别
- 使用不同的示例数据进行测试,以了解检测模式
- 必要时调整配置文件选择
有关 DLP 配置的更多支持,请参阅 Cloudflare 数据丢失防护文档 或联系你的 Cloudflare 支持团队。