跳转到内容
本站为社区维护的非官方中文翻译,与 Cloudflare, Inc. 无关联。本站不提供账户登录,请勿在任何非官方站点输入您的 Cloudflare 账户信息。官方文档:developers.cloudflare.com

配置策略

最后更新 查看 MarkdownAgent 设置

使用工作负载选择请求,并使用策略检查请求。将策略分组到策略集中,再将该策略集附加到部署。

你需要拥有在账户中管理 Cloud Workload Security 的访问权限。附加策略集前,请创建部署。要连接代理,请参阅快速入门。

创建工作负载

工作负载是可重复使用的请求筛选器。例如,你可以将发往 Cloudflare API 的请求分组。

使用不同的工作负载来针对生产和非生产环境指定安全配置文件。将每个工作负载纳入相应环境的策略集。

  1. 在 Cloudflare 仪表板中,选择你的账户,然后前往 Cloud Workload Security > Workloads。

    前往 Workloads(工作负载) ↗
  2. 选择 Add workload,然后输入 Workload name。

  3. 在 Filters 中选择 Wirefilter,然后输入筛选条件。此示例会匹配 Cloudflare API 请求:

    application.name == "Cloudflare"

    你也可以使用 Visual Builder 选择字段、运算符和值。请选择应用后,再选择其服务或操作。

  4. 选择 Add workload 保存工作负载。

创建策略

Filters 和 Rego source 均为必填项。

策略筛选器会选择需要运行其 Rego 检查的请求。Rego 源代码必须声明一个位于 policy. 下的包,以及一个名为 valid 的布尔规则。

  1. 在 Cloudflare 仪表板中,前往 Cloud Workload Security > Policies。

    前往 Policies(策略) ↗
  2. 选择 Add policy 并输入 Policy name。

  3. 在 Filters 中选择 Wirefilter 并输入请求范围。此示例会选择 R2 API 请求:

    application.name == "Cloudflare" and application.service == "r2"
  4. 在 Rego source 中输入检查规则。此示例仅允许所选范围内的 GET 请求:

    Rego sourcetxt
    package policy.r2_read_only
    
    default valid := false
    
    valid if {
      input.http.request.method == "GET"
    }

    使用 input.http.request.body 检查已解析的请求内容。有关请求正文示例,请参阅 R2 公共访问防护。

  5. 选择 Add policy 保存策略。继续之前,请先更正筛选器或 Rego 错误。

创建策略集

策略集会对策略及其工作负载范围进行分组。请求必须匹配纳入的工作负载,且不得匹配排除的工作负载。未设置纳入的工作负载时,策略集没有纳入限制。

  1. 在 Cloudflare 仪表板中,前往 Cloud Workload Security > Policy sets。

    前往 Policy sets(策略集) ↗
  2. 选择 Add policy set 并输入 Policy set name。

  3. 在 Workloads 中,选择 Attach workload,选中要纳入的工作负载并确认选择。要排除一组请求,请选择 Exclude workload。

  4. 在 Policies 中,选择 Attach policy,选中策略,然后选择 Attach policies。

  5. 对于每项策略,开启 Enforce 以阻止未通过检查的请求。关闭此选项则仅评估策略,不会根据结果阻止请求。

  6. 选择 Add policy set 保存策略集。

策略筛选器在策略集的工作负载范围内仍然适用。匹配某个工作负载不会绕过策略筛选器。

将策略集附加到部署

  1. 在 Cloudflare 仪表板中,前往 Cloud Workload Security > Deployments 并打开该部署。

    前往 Deployments(部署) ↗
  2. 在 Policy sets 中,选择 Attach policy set,选中策略集,然后选择 Attach policy sets。

  3. 在 Deployment settings 中选择 Default mode。Default allow 允许不属于任何策略请求范围的请求。Default block 会阻止这些请求。

  4. 选择 Save。测试代理前,请留出时间等待配置刷新。

默认模式和强制执行

只有策略集的工作负载范围和策略筛选器都匹配时,策略才算匹配。如果没有策略匹配,则应用部署默认模式。Rego 返回 false 表示检查失败,而非请求未匹配。

例如,即使设置了 Default block,匹配的策略若未开启 Enforce,也不会阻止结果为 false 的请求。其他启用了强制执行的策略仍可能阻止该请求。

发送一个通过策略的请求和一个未通过策略的请求。确认开启 Enforce 时,未通过的请求会返回 CWS 阻止响应。

要更改现有资源,请从列表中打开该资源,编辑后选择 Save。策略或策略集的更改会影响引用它的部署。

这篇文档对您有帮助吗?