AWS WAF

AWS WAF

Beta
Beta release

This source is currently in beta. It works end to end, but you may still hit rough edges. Let us know if you do.

Let AI connect your sources for you

Skip the manual setup — run this in your project and the wizard auto-detects your databases and APIs and connects them to PostHog.

Learn more
PostHog Wizard hedgehog

Connect AWS WAF to PostHog to sync your data into the PostHog data warehouse for analysis and modeling.

Sync AWS WAF configurations into the PostHog Data warehouse.

Grant wafv2:ListWebACLs and wafv2:GetWebACL to sync web ACLs. Grant wafv2:ListRuleGroups and wafv2:GetRuleGroup to sync rule groups. Grant wafv2:ListIPSets and wafv2:GetIPSet to sync IP sets. Grant wafv2:ListRegexPatternSets and wafv2:GetRegexPatternSet to sync regex pattern sets. Grant wafv2:ListAvailableManagedRuleGroups and wafv2:DescribeManagedRuleGroup to sync managed rule groups. Grant wafv2:ListWebACLs and wafv2:ListResourcesForWebACL, plus the read permissions for each protected resource type, to sync protected resources. Grant wafv2:ListWebACLs, wafv2:GetWebACL, and wafv2:GetSampledRequests to sync sampled requests. Grant cloudwatch:ListMetrics and cloudwatch:GetMetricData to sync request metrics.

Select a region for regional resources. CloudFront resources use us-east-1. Sampled requests cover at most the last 3 hours, so sync them at least every 3 hours to keep a continuous history. Protected resources are only listed for the regional scope.

Configuration

OptionDescription
AWS access key ID
Type: text
Required: True
AWS secret access key
Type: password
Required: True
AWS session token
Type: password
Required: False

Temporary credentials expire. Scheduled syncs fail after the session token expires.

AWS region
Type: text
Required: True
Resource scope
Type: select
Required: True

CloudFront resources always use us-east-1.

Linking AWS WAF to PostHog

  1. Go to the Data pipeline page in PostHog
  2. Click New source and select AWS WAF
  3. Fill in the required configuration fields
  4. Click Next, select the tables you want to sync, and then press Import

Supported tables

TableDescriptionSync methodIncremental fieldPrimary key
web_acls

Web access control lists, with their rules, default actions, and visibility settings.

Full refresh——
rule_groups

Rule groups that you manage, with their rules and capacity settings.

Full refresh——
ip_sets

IP sets with their IP version and address ranges in CIDR notation.

Full refresh——
regex_pattern_sets

Sets of regular expressions that rules use to inspect web requests.

Full refresh——
managed_rule_groups

Managed rule groups available to the account, with their rules, labels, and capacity.

Full refresh——
protected_resources

Regional resources that each web ACL protects, such as load balancers and API stages.

Full refresh——
sampled_requests

Samples of recent web requests that matched web ACL rules, with the action AWS WAF took.

Incremental, Full refreshtimestamp—
request_metrics

Hourly CloudWatch request counts for web ACLs, rules, and labels, such as allowed and blocked requests.

Incremental, Full refreshtimestamp—