次の例は、Cloudflare API で WAF コンテンツスキャンを管理・設定する、よくあるシナリオです。
Terraform を使う場合は、Terraform の設定例 を参照してください。
次の API 例は、WAF コンテンツスキャンの有効化と無効化など、基本的な操作です。
コンテンツスキャンを有効にするには、次のような POST リクエストを使います。
Required API token permissions
At least one of the following token permissions is required:Zone WAF WriteAccount WAF Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/content-upload-scan/enable" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"コンテンツスキャンを無効にするには、次のような POST リクエストを使います。
Required API token permissions
At least one of the following token permissions is required:Zone WAF WriteAccount WAF Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/content-upload-scan/disable" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"コンテンツスキャン機能の現在の状態を取得するには、次のような GET リクエストを使います。
Required API token permissions
At least one of the following token permissions is required:Zone WAF WriteZone WAF ReadAccount WAF WriteAccount WAF Read
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/content-upload-scan/settings" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"次の API 例は、コンテンツスキャンのカスタムスキャン式に対する操作です。
既存のカスタムスキャン式の一覧を取得するには、次のような GET リクエストを使います。
Required API token permissions
At least one of the following token permissions is required:Zone WAF WriteZone WAF ReadAccount WAF WriteAccount WAF Read
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/content-upload-scan/payloads" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{
"result": [
{
"id": "<EXPRESSION_ID>",
"payload": "lookup_json_string(http.request.body.raw, \"file\")"
}
],
"success": true,
"errors": [],
"messages": []
}次のような POST リクエストを使います。
Required API token permissions
At least one of the following token permissions is required:Zone WAF WriteAccount WAF Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/content-upload-scan/payloads" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '[
{
"payload": "lookup_json_string(http.request.body.raw, \"file\")"
}
]'次のような DELETE リクエストを使います。
Required API token permissions
At least one of the following token permissions is required:Zone WAF WriteAccount WAF Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/content-upload-scan/payloads/$EXPRESSION_ID" \
--request DELETE \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"