Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Joomla ルールだけを有効にする

最終更新 Markdown で表示Agent セットアップ

Rulesets API を使い、マネージドルールセットの実行を設定し、動作をオーバーライドします。デフォルトでは、有効なルールはマネージドルールセットの発行元が定義したアクションを実行します。この例では、特定のタグを持つルールだけが有効になるようにオーバーライドを使います。

joomla タグが付いたルールだけを有効にするため、マネージドルールセットの実行を 2 つのオーバーライドで設定する手順は次のとおりです。

  1. マネージドルールセットを実行するルールを、フェーズのエントリポイントルールセットに 追加 します。
  2. マネージドルールセット内のすべてのルールを無効にする ルールセットオーバーライドを設定 します。
  3. 指定したタグを持つルールだけを有効にするタグオーバーライドを設定します。

タグオーバーライドはルールセットオーバーライドより優先されます。指定したタグを持つルールだけが有効になり、それ以外のルールはすべて無効になります。

例 1

この例では、Joomla ルールだけを有効にした状態で、Cloudflare Managed Ruleset をフェーズにデプロイします。namekindphase フィールドは変更できないため、リクエストから省略しています。

例: ゾーンレベルでカテゴリーオーバーライドを使い、Joomla ルールだけを有効にする

Required API token permissions

At least one of the following token permissions is required:
  • Response Compression Write
  • Config Settings Write
  • Dynamic URL Redirects Write
  • Cache Settings Write
  • Custom Errors Write
  • Origin Write
  • Managed headers Write
  • Zone Transform Rules Write
  • Mass URL Redirects Write
  • Magic Firewall Write
  • L4 DDoS Managed Ruleset Write
  • HTTP DDoS Managed Ruleset Write
  • Sanitize Write
  • Transform Rules Write
  • Select Configuration Write
  • Bot Management Write
  • Zone WAF Write
  • Account WAF Write
  • Account Rulesets Write
  • Logs Write
  • Logs Write
Update a zone entry point rulesetbash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"rules": [
				{
						"action": "execute",
						"expression": "true",
						"action_parameters": {
								"id": "<MANAGED_RULESET_ID>",
								"overrides": {
										"enabled": false,
										"categories": [
												{
														"category": "joomla",
														"action": "block",
														"enabled": true
												}
										]
								}
						}
				}
		]
	}'
  • "id": "<MANAGED_RULESET_ID>" は、指定したゾーン($ZONE_ID)へのリクエストに Cloudflare Managed Ruleset を適用するルールを、フェーズのルールセットに追加します。
  • "enabled": false は、マネージドルールセット内のすべてのルールを無効にするルールセットレベルのオーバーライドを定義します。
  • "categories": [{"category": "joomla", "action": "block", "enabled": true}] は、Joomla ルールを有効にし、アクションを block に設定するタグレベルのオーバーライドを定義します。

例: アカウントレベルでカテゴリーオーバーライドを使い、Joomla ルールだけを有効にする

Required API token permissions

At least one of the following token permissions is required:
  • Mass URL Redirects Write
  • Magic Firewall Write
  • L4 DDoS Managed Ruleset Write
  • Transform Rules Write
  • Select Configuration Write
  • Account WAF Write
  • Account Rulesets Write
  • Logs Write
Update an account entry point rulesetbash
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"rules": [
				{
						"action": "execute",
						"expression": "cf.zone.name eq \"example.com\" and cf.zone.plan eq \"ENT\"",
						"action_parameters": {
								"id": "<MANAGED_RULESET_ID>",
								"overrides": {
										"enabled": false,
										"categories": [
												{
														"category": "joomla",
														"action": "block",
														"enabled": true
												}
										]
								}
						}
				}
		]
	}'
  • "id": "<MANAGED_RULESET_ID>" は、example.com へのリクエストに Cloudflare Managed Ruleset を適用するルールを、フェーズのルールセットに追加します。
  • "enabled": false は、マネージドルールセット内のすべてのルールを無効にするルールセットレベルのオーバーライドを定義します。
  • "categories": [{"category": "joomla", "action": "block", "enabled": true}] は、Joomla ルールを有効にし、アクションを block に設定するタグレベルのオーバーライドを定義します。

1 つのルールに、カテゴリーオーバーライドを複数追加できます。

例 2

この例では、http_request_firewall_managed フェーズでマネージドルールセット(<MANAGED_RULESET_ID>)を実行するルールに、オーバーライドを 2 つ追加します。namekindphase フィールドは変更できないため、リクエストから省略しています。

例: ゾーンレベルで複数のカテゴリーオーバーライドを追加する

Required API token permissions

At least one of the following token permissions is required:
  • Response Compression Write
  • Config Settings Write
  • Dynamic URL Redirects Write
  • Cache Settings Write
  • Custom Errors Write
  • Origin Write
  • Managed headers Write
  • Zone Transform Rules Write
  • Mass URL Redirects Write
  • Magic Firewall Write
  • L4 DDoS Managed Ruleset Write
  • HTTP DDoS Managed Ruleset Write
  • Sanitize Write
  • Transform Rules Write
  • Select Configuration Write
  • Bot Management Write
  • Zone WAF Write
  • Account WAF Write
  • Account Rulesets Write
  • Logs Write
  • Logs Write
Update a zone entry point rulesetbash
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"rules": [
				{
						"action": "execute",
						"expression": "true",
						"action_parameters": {
								"id": "<MANAGED_RULESET_ID>",
								"overrides": {
										"enabled": false,
										"categories": [
												{
														"category": "joomla",
														"action": "log",
														"enabled": true
												},
												{
														"category": "wordpress",
														"enabled": false
												}
										]
								}
						}
				}
		]
	}'

例: アカウントレベルで複数のカテゴリーオーバーライドを追加する

Required API token permissions

At least one of the following token permissions is required:
  • Mass URL Redirects Write
  • Magic Firewall Write
  • L4 DDoS Managed Ruleset Write
  • Transform Rules Write
  • Select Configuration Write
  • Account WAF Write
  • Account Rulesets Write
  • Logs Write
Update an account entry point rulesetbash
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"rules": [
				{
						"action": "execute",
						"expression": "cf.zone.name eq \"example.com\" and cf.zone.plan eq \"ENT\"",
						"action_parameters": {
								"id": "<MANAGED_RULESET_ID>",
								"overrides": {
										"enabled": false,
										"categories": [
												{
														"category": "joomla",
														"action": "log",
														"enabled": true
												},
												{
														"category": "wordpress",
														"enabled": false
												}
										]
								}
						}
				}
		]
	}'

ルールセット内のオーバーライドの順序によって、デプロイしたマネージドルールセットのルールが有効になるか無効になるかが決まります。リストの後ろにあるオーバーライドは、前のオーバーライドより優先されます。

上のコードにあるマネージドルールセットから、category タグの組み合わせが異なる 4 つのルールを考えます。次の表は、オーバーライド後のルールの状態です。

マネージドルールセット内のルール タグ オーバーライド後のルール状態
ManagedRule1 drupaldos 無効
ManagedRule2 drupaldosjoomla 有効
ManagedRule3 dosjoomlawordpress 無効
ManagedRule4 drupalwordpress 無効
ManagedRule5 (タグなし) 無効

役に立ちましたか?