← Dokumentace WAF / account / managed-rulesets
Nasazení spravované sady pravidel WAF přes API (účet)
Použijte Rulesets API k nasazení spravované sady pravidel WAF do http_request_firewall_managed fáze na úrovni účtu.
The WAF Managed Rules obsahuje ID jednotlivých spravovaných sad pravidel WAF. Tyto informace budete potřebovat při nasazování sad přes API.
Pokud používáte Terraform, viz Konfigurace WAF Managed Rules pomocí Terraformu.
Příklad
Následující příklad nasazuje Cloudflare Managed Ruleset do http_request_firewall_managed fáze daného účtu ($ACCOUNT_ID) vytvořením pravidla, které spouští spravovanou sadu pravidel. Pravidla ve spravované sadě pravidel se vykonávají, když název zóny odpovídá jedné z example.com nebo anotherexample.com.
-
Vyvolejte Získání entry point rulesetu účtu operaci k získání definice entry point rulesetu pro fázi
http_request_firewall_managedfázi. Budete potřebovat ID účtu pro tuto úlohu.
Alespoň jedno z následujících oprávnění tokenu je vyžadováno:Požadovaná oprávnění API tokenu
Account WAF WriteAccount WAF ReadAccount Rulesets ReadAccount Rulesets Write
Získání entry point rulesetu účtucurl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \ --request GET \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{ "result": { "description": "Account-level phase entry point", "id": "<RULESET_ID>", "kind": "root", "last_updated": "2024-03-16T15:40:08.202335Z", "name": "root", "phase": "http_request_firewall_managed", "rules": [ // ... ], "source": "firewall_managed", "version": "10" }, "success": true, "errors": [], "messages": [] } -
Pokud entry point ruleset již existuje (tedy pokud jste obdrželi
200 OKstavový kód a definici sady pravidel), poznamenejte si ID sady pravidel z odpovědi. Poté zavolejte Vytvoření pravidla v sadě pravidel účtu operaci k přidáníexecutepravidlo do existující sady pravidel, která nasazuje Cloudflare Managed Ruleset (s IDefb7b8c949ac4650a09736fc376e9aee). Ve výchozím nastavení bude pravidlo přidáno na konec seznamu pravidel, která již v sadě jsou.
Alespoň jedno z následujících oprávnění tokenu je vyžadováno:Požadovaná oprávnění API tokenu
Account WAF WriteAccount Rulesets Write
Vytvoření pravidla v sadě pravidel účtucurl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets/$RULESET_ID/rules" \ --request POST \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "action": "execute", "action_parameters": { "id": "efb7b8c949ac4650a09736fc376e9aee" }, "expression": "(cf.zone.name in {\"example.com\" \"anotherexample.com\"}) and cf.zone.plan eq \"ENT\"", "description": "Execute the Cloudflare Managed Ruleset" }'{ "result": { "id": "<RULESET_ID>", "name": "Account-level phase entry point", "description": "", "kind": "root", "version": "11", "rules": [ // ... any existing rules { "id": "<RULE_ID>", "version": "1", "action": "execute", "action_parameters": { "id": "efb7b8c949ac4650a09736fc376e9aee", "version": "latest" }, "expression": "(cf.zone.name in {\"example.com\" \"anotherexample.com\"}) and cf.zone.plan eq \"ENT\"", "description": "Execute the Cloudflare Managed Ruleset", "last_updated": "2024-03-18T18:30:08.122758Z", "ref": "<RULE_REF>", "enabled": true } ], "last_updated": "2024-03-18T18:30:08.122758Z", "phase": "http_request_firewall_managed" }, "success": true, "errors": [], "messages": [] } -
Pokud entry point ruleset neexistuje (tedy pokud jste obdrželi
404 Not Foundstavový kód v kroku 1), vytvořte jej pomocí Vytvoření rulesetu účtu operace. Zahrňte jediné pravidlo do polerulespole, které vykonává Cloudflare Managed Ruleset (s IDefb7b8c949ac4650a09736fc376e9aee) pro všechny příchozí požadavky, kde název zóny odpovídá jedné zexample.comneboanotherexample.com.
Alespoň jedno z následujících oprávnění tokenu je vyžadováno:Požadovaná oprávnění API tokenu
Account WAF WriteAccount Rulesets Write
Vytvoření rulesetu účtucurl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets" \ --request POST \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "name": "My ruleset", "description": "Entry point ruleset for WAF managed rulesets", "kind": "root", "phase": "http_request_firewall_managed", "rules": [ { "action": "execute", "action_parameters": { "id": "efb7b8c949ac4650a09736fc376e9aee" }, "expression": "(cf.zone.name in {\"example.com\" \"anotherexample.com\"}) and cf.zone.plan eq \"ENT\"", "description": "Execute the Cloudflare Managed Ruleset" } ] }'
Další kroky
K přizpůsobení chování pravidel zahrnutých ve spravované sadě pravidel vytvořte přepis.
Pro přeskočení vykonávání spravovaných sad pravidel WAF nebo některých jejich pravidel vytvořte výjimku (nazývané také skip pravidlo).
Výjimky mají přednost před overrides.
Další zdroje
Pokyny k nasazení spravované sady pravidel na úrovni zóny přes API najdete v části Nasazení spravované sady pravidel WAF přes API (zóna).
Další informace o práci se spravovanými sadami pravidel přes API viz Práce se spravovanými sadami pravidel v dokumentaci Ruleset Engine.