使用工作负载选择请求,并使用策略检查请求。将策略分组到策略集中,再将该策略集附加到部署。
你需要拥有在账户中管理 Cloud Workload Security 的访问权限。附加策略集前,请创建部署。要连接代理,请参阅快速入门。
工作负载是可重复使用的请求筛选器。例如,你可以将发往 Cloudflare API 的请求分组。
使用不同的工作负载来针对生产和非生产环境指定安全配置文件。将每个工作负载纳入相应环境的策略集。
-
在 Cloudflare 仪表板中,选择你的账户,然后前往 Cloud Workload Security > Workloads。
前往 Workloads(工作负载) ↗ -
选择 Add workload,然后输入 Workload name。
-
在 Filters 中选择 Wirefilter,然后输入筛选条件。此示例会匹配 Cloudflare API 请求:
application.name == "Cloudflare"你也可以使用 Visual Builder 选择字段、运算符和值。请选择应用后,再选择其服务或操作。
-
选择 Add workload 保存工作负载。
Filters 和 Rego source 均为必填项。
策略筛选器会选择需要运行其 Rego 检查的请求。Rego 源代码必须声明一个位于 policy. 下的包,以及一个名为 valid 的布尔规则。
-
在 Cloudflare 仪表板中,前往 Cloud Workload Security > Policies。
前往 Policies(策略) ↗ -
选择 Add policy 并输入 Policy name。
-
在 Filters 中选择 Wirefilter 并输入请求范围。此示例会选择 R2 API 请求:
application.name == "Cloudflare" and application.service == "r2" -
在 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 公共访问防护。 -
选择 Add policy 保存策略。继续之前,请先更正筛选器或 Rego 错误。
策略集会对策略及其工作负载范围进行分组。请求必须匹配纳入的工作负载,且不得匹配排除的工作负载。未设置纳入的工作负载时,策略集没有纳入限制。
-
在 Cloudflare 仪表板中,前往 Cloud Workload Security > Policy sets。
前往 Policy sets(策略集) ↗ -
选择 Add policy set 并输入 Policy set name。
-
在 Workloads 中,选择 Attach workload,选中要纳入的工作负载并确认选择。要排除一组请求,请选择 Exclude workload。
-
在 Policies 中,选择 Attach policy,选中策略,然后选择 Attach policies。
-
对于每项策略,开启 Enforce 以阻止未通过检查的请求。关闭此选项则仅评估策略,不会根据结果阻止请求。
-
选择 Add policy set 保存策略集。
策略筛选器在策略集的工作负载范围内仍然适用。匹配某个工作负载不会绕过策略筛选器。
-
在 Cloudflare 仪表板中,前往 Cloud Workload Security > Deployments 并打开该部署。
前往 Deployments(部署) ↗ -
在 Policy sets 中,选择 Attach policy set,选中策略集,然后选择 Attach policy sets。
-
在 Deployment settings 中选择 Default mode。Default allow 允许不属于任何策略请求范围的请求。Default block 会阻止这些请求。
-
选择 Save。测试代理前,请留出时间等待配置刷新。
只有策略集的工作负载范围和策略筛选器都匹配时,策略才算匹配。如果没有策略匹配,则应用部署默认模式。Rego 返回 false 表示检查失败,而非请求未匹配。
例如,即使设置了 Default block,匹配的策略若未开启 Enforce,也不会阻止结果为 false 的请求。其他启用了强制执行的策略仍可能阻止该请求。
发送一个通过策略的请求和一个未通过策略的请求。确认开启 Enforce 时,未通过的请求会返回 CWS 阻止响应。
要更改现有资源,请从列表中打开该资源,编辑后选择 Save。策略或策略集的更改会影响引用它的部署。