AWS WAF web ACL

Web application firewall that inspects HTTP and HTTPS requests to CloudFront, API Gateway, load balancers and other AWS front doors.

Provider
aws
Category
Security
Properties · 4 set by this component
propertytypevaluesrequiredkind defaultthis component
bodyInspectionLimitKb · component propertyinteger—no16inherited
botProtectionboolean—no—▸ false
customRuleCountinteger—no—inherited
defaultAction · component propertyenumallow | blockno—inherited
logging · component propertyboolean—nofalseinherited
managedboolean—nofalse▸ true
managedRuleSetstring—no—inherited
modeenumdetection | prevention | offno—▸ prevention
rateLimitingboolean—no—▸ false
scope · component propertyenumcloudfront | regionalno—inherited
webAclCapacityUnits · component propertyinteger—no5000inherited
Rules that apply · 0

Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.

No rule reads this kind yet. That is a gap, not a guarantee.
Use it in a design
nodes:
  - { id: "waf", component: "aws-waf" }
Other Web application firewall products · 13
Source
# yaml-language-server: $schema=../../schema/component.schema.json
# AWS WAF web ACL: managed layer-7 firewall for HTTP/HTTPS requests to CloudFront, API Gateway,
# Application Load Balancer, AppSync, Cognito, App Runner and Verified Access; rule actions are
# terminating and the web ACL default action must be Allow or Block ("What is AWS WAF?",
# "Setting the protection pack (web ACL) default action in AWS WAF"). Bot Control and rate-based rules
# are opt-in, logging is opt-in, capacity is 5,000 WCUs and the body inspection limit is 16 KB by
# default for CloudFront and API Gateway ("AWS WAF quotas").
schemaVersion: "1"
type: "component"
id: "aws-waf"
kind: "waf"
provider: "aws"
docs: "https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html"
aliases: ["WAF"]
defaults:
  managed: true
  mode: "prevention"
  botProtection: false
  rateLimiting: false
properties:
  defaultAction:
    type: "enum"
    values: ["allow", "block"]
  webAclCapacityUnits:
    type: "integer"
    default: 5000
  bodyInspectionLimitKb:
    type: "integer"
    default: 16
  logging:
    type: "boolean"
    default: false
  scope:
    type: "enum"
    values: ["cloudfront", "regional"]

The same page as markdown, for an agent: /catalogue/components/aws-waf.md