跳转到内容
搜索文档

设置数据丢失防护 (DLP)

最后更新 查看 MarkdownAgent 设置

将数据丢失防护 (DLP) 添加到任意 AI Gateway,即可开始扫描 AI 提示和响应中的敏感数据。

前提条件

为 AI Gateway 启用 DLP

  1. 登录 Cloudflare 仪表板并选择你的账户。
  2. 前往 AI > AI Gateway
  3. 选择要启用 DLP 的 gateway。
  4. 前往 Firewall(防火墙) 选项卡。
  5. Data Loss Prevention (DLP) 切换为 On

添加 DLP 策略

启用 DLP 后,你可以创建策略来定义如何处理敏感数据:

  1. 在 DLP 部分下,点击 Add Policy(添加策略)

  2. 为每个策略配置以下字段:

    • 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 - 同时扫描请求和响应
  3. 点击 Save(保存) 保存策略配置。

管理 DLP 策略

你可以创建具有不同配置的多个 DLP 策略:

  • 添加多个策略:点击 Add Policy(添加策略) 创建具有不同配置文件组合或操作的其他策略
  • 启用/禁用策略:使用每个策略旁的开关单独启用或禁用,无需删除配置
  • 编辑策略:点击任何现有策略以修改其设置
  • 保存更改:进行任何更改后始终点击 Save(保存) 以应用

测试你的配置

配置 DLP 设置后:

  1. 通过 gateway 发起包含示例敏感数据的测试 AI 请求。
  2. 检查 AI Gateway Logs(AI Gateway 日志),验证 DLP 扫描是否正常工作。
  3. 查看检测结果,并根据需要调整配置文件或操作。

监控 DLP 事件

在 AI Gateway 中查看 DLP 日志

DLP 事件已集成到你的 AI Gateway 日志中。当 DLP 策略匹配时,日志条目会在提供商、模型、token 和费用等标准日志字段旁边包含匹配详情。

  1. 前往 AI > AI Gateway > 你的 gateway > Logs(日志)
  2. 选择任意日志条目以查看详细信息。对于触发 DLP 策略的请求,日志条目包含额外的 DLP 字段:
字段 描述
DLP Action DLP 策略执行的操作:FLAGBLOCK
DLP Policies Matched 匹配的 DLP 策略 ID
DLP Profiles Matched 每个匹配策略内触发的 DLP profile ID
DLP Entries Matched 每个 profile 内匹配的具体检测 entry ID
DLP Check 匹配发生在 REQUESTRESPONSE,还是两者

Logs API 中的 DLP 字段

通过 Logs API 检索日志时,DLP 策略匹配的请求日志条目在响应中包含 DLP 专用字段。这些字段包含与仪表板和 cf-aig-dlp 响应标头中显示的相同匹配数据,包括所采取的操作、匹配的策略 ID、匹配的配置文件 ID 以及条目 ID。

有关日志字段的更多信息,请参阅日志记录文档

过滤 DLP 事件

要仅查看与 DLP 相关的请求:

  1. Logs(日志) 选项卡上,选择 Add Filter(添加筛选器)
  2. 从过滤选项中选择 DLP Action(DLP 操作)
  3. 选择按以下条件过滤:
    • FLAG - 仅显示标记了敏感数据的请求
    • BLOCK - 仅显示因 DLP 策略被阻止的请求

错误处理

当 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 故障排除,请参阅故障排除

DLP 未触发

  • 验证 gateway 的 DLP 开关已启用
  • 确保选定的 DLP 配置文件适合你的测试数据
  • 确认置信度级别未设置过高

意外阻止

  • 查看 DLP 日志以了解触发了哪些配置文件
  • 考虑降低有问题配置文件的置信度级别
  • 使用不同的示例数据进行测试,以了解检测模式
  • 必要时调整配置文件选择

有关 DLP 配置的更多支持,请参阅 Cloudflare 数据丢失防护文档 或联系你的 Cloudflare 支持团队。

这篇文档对您有帮助吗?