Dokumentace Domluvit pilot

Vytvoření vlastní sady pravidel pomocí API

Chcete-li nasadit vlastní pravidla na úrovni účtu:

  1. Vytvořte vlastní sadu pravidel s jedním nebo více pravidly. Případně identifikujte existující vlastní sadu pravidel, kterou chcete nasadit, pomocí Seznam sad pravidel na úrovni účtu operace API.
  2. Nasaďte vlastní sadu pravidel, aby se spustila. Chcete-li nasadit vlastní sadu pravidel, vytvořte pravidlo s execute jako akci.

Použijte Rulesets API, abyste pracovali s vlastními sadami pravidel pomocí API.

Pokud používáte Terraform, přečtěte si Konfigurace vlastních pravidel WAF pomocí Terraformu.

Postup

Chcete-li nasadit vlastní sadu pravidel, postupujte podle těchto obecných kroků:

  1. Vytvořte vlastní sadu pravidel v http_request_firewall_custom fáze s jedním nebo více pravidly.
  2. Nasaďte sadu pravidel do vstupní sada pravidel http_request_firewall_custom fáze.

1. Vytvořte vlastní sadu pravidel

Následující příklad vytvoří vlastní sadu pravidel na úrovni účtu s jediným pravidlem v rules pole.

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
Vytvořte account ruleset
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets" \
	--request POST \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"description": "",
		"kind": "custom",
		"name": "My custom ruleset",
		"rules": [
				{
						"description": "Challenge web traffic (not /api)",
						"expression": "not starts_with(http.request.uri.path, \"/api/\")",
						"action": "managed_challenge"
				}
		],
		"phase": "http_request_firewall_custom"
	}'

Uložte si ID sady pravidel z odpovědi pro další krok.

2. Nasaďte vlastní sadu pravidel

Chcete-li nasadit vlastní sadu pravidel, přidejte pravidlo s "action": "execute" do http_request_firewall_custom je vstupní sada pravidel dané fáze.

  1. Vyvolejte Získání vstupní sady pravidel účtu operaci k získání definice vstupní sady pravidel pro http_request_firewall_custom fáze. Budete potřebovat ID účtu pro tento úkol.

    Požadovaná oprávnění API tokenu

    Alespoň jeden z následujících oprávnění tokenu je povinné:
    • Account WAF Write
    • Account WAF Read
    • Account Rulesets Read
    • Account Rulesets Write
    Získání vstupní sady pravidel účtu
    curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets/phases/http_request_firewall_custom/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_custom",
    		"rules": [
    			// ...
    		],
    		"version": "9"
    	},
    	"success": true,
    	"errors": [],
    	"messages": []
    }
  2. Pokud vstupní sada pravidel již existuje (to znamená, pokud jste obdrželi 200 OK stavový kód a definici sady pravidel), poznamenejte si ID sady pravidel z odpovědi. Poté zavolejte Vytvoření pravidla sady pravidel účtu operaci pro přidání execute pravidlo do stávající sady pravidel nasazující vlastní sadu pravidel. Ve výchozím nastavení bude pravidlo přidáno na konec seznamu pravidel již obsažených v sadě pravidel.

    Následující požadavek vytvoří pravidlo, které spustí vlastní sadu pravidel s ID <CUSTOM_RULESET_ID> pro všechny zóny s plánem Enterprise v účtu:

    Požadovaná oprávnění API tokenu

    Alespoň jeden z následujících oprávnění tokenu je povinné:
    • Account WAF Write
    • Account Rulesets Write
    Vytvoření pravidla sady pravidel účtu
    curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets/$RULESET_ID/rules" \
    	--request POST \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"description": "Execute custom ruleset",
    		"expression": "(cf.zone.plan eq \"ENT\")",
    		"action": "execute",
    		"action_parameters": {
    				"id": "<CUSTOM_RULESET_ID>"
    		},
    		"enabled": true
    	}'
  3. Pokud vstupní sada pravidel neexistuje (to znamená, pokud jste obdrželi 404 Not Found stavový kód v kroku 1), vytvořte ji pomocí Vytvořte account ruleset operaci. Zahrňte jedno pravidlo do rules pole, které spouští vlastní sadu pravidel pro všechny příchozí požadavky zón Enterprise ve vašem účtu.

    Požadovaná oprávnění API tokenu

    Alespoň jeden z následujících oprávnění tokenu je povinné:
    • Account WAF Write
    • Account Rulesets Write
    Vytvořte account ruleset
    curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets" \
    	--request POST \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"description": "",
    		"kind": "root",
    		"name": "Account-level phase entry point",
    		"rules": [
    				{
    						"action": "execute",
    						"expression": "(cf.zone.plan eq \"ENT\")",
    						"action_parameters": {
    								"id": "<CUSTOM_RULESET_ID>"
    						}
    				}
    		],
    		"phase": "http_request_firewall_custom"
    	}'

Další kroky

Použijte různé operace v Rulesets API, abyste pracovali s vlastní sadou pravidel, kterou jste vytvořili a nasadili. Následující tabulka obsahuje seznam běžných úkolů pro práci s vlastními sadami pravidel na úrovni účtu:

Úkol Postup
Získání seznamu vlastních sad pravidel

Použijte Seznam sad pravidel na úrovni účtu operaci a vyhledejte sady pravidel s "kind": "custom" a "phase": "http_request_firewall_custom". Odpověď bude obsahovat ID sad pravidel.

Další informace najdete v tématu Seznam existujících sad pravidel.

Seznam všech pravidel ve vlastní sadě pravidel

Použijte Získání sady pravidel účtu operaci s ID vlastní sady pravidel, abyste získali seznam nakonfigurovaných pravidel a jejich ID.

Další informace najdete v tématu Zobrazit konkrétní sadu pravidel.

Aktualizace vlastního pravidla

Použijte Aktualizace pravidla sady pravidel účtu operaci. Budete muset zadat ID vlastní sady pravidel a ID pravidla.

Další informace najdete v tématu Aktualizace pravidla v sadě pravidel.

Odstranění vlastního pravidla

Použijte Odstranění pravidla sady pravidel účtu operaci. Budete muset zadat ID vlastní sady pravidel a ID pravidla.

Další informace najdete v tématu Odstraňte pravidlo v sadě pravidel.

Další zdroje

Pokyny k vytvoření vlastní sady pravidel na úrovni zóny pomocí API najdete v Vlastní sady pravidel (úroveň zóny).

Další informace o práci s vlastními sadami pravidel najdete v Práce s vlastními sadami pravidel v dokumentaci k Ruleset Engine.

Požádejte o pilot zdarma

Domluvit pilot