Skip to content

Conversation

@RamazanKara
Copy link
Contributor

Description

The AWS Load Balancer Controller requires the wafv2:ListWebACLs permission to resolve WAF ACL names to ARNs when using the wafv2-acl-name annotation.

Without this permission, the controller cannot find the WAF ACL by name, resulting in ingress creation failures.

This change adds the missing permission to the IAM policy for the aws-load-balancer-controller service account.

Motivation and Context

This change is required since AWS Load Balancer Controller v2.14+ supports referencing WAF ACLs by name via the alb.ingress.kubernetes.io/wafv2-acl-name annotation instead of requiring ARNs. This simplifies configuration management as WAF ACL names are static while ARNs can change across environments.

The controller needs wafv2:ListWebACLs permission to query the WAF API and resolve the ACL name to its ARN before associating it with the load balancer. This permission complements the existing wafv2:GetWebACL, wafv2:AssociateWebACL, and wafv2:DisassociateWebACL permissions already present in the policy.

Breaking Changes

No breaking changes. This is an additive change that expands the existing WAFv2 permissions to enable name-based WAF ACL references.

How Has This Been Tested?

  • I have updated at least one of the examples/* to demonstrate and validate my change(s)
  • I have tested and validated these changes using one or more of the provided examples/* projects
  • Deployed AWS Load Balancer Controller with this policy in a live EKS cluster
  • Verified ingress resources with wafv2-acl-name annotations successfully resolve and associate WAF ACLs
  • Confirmed no permission errors in controller logs
  • I have executed pre-commit run -a on my pull request

The AWS Load Balancer Controller requires the wafv2:ListWebACLs permission
to resolve WAF ACL names to ARNs when using the wafv2-acl-name annotation.

Without this permission, the controller cannot find the WAF ACL by name,
resulting in ingress creation failures.

This change adds the missing permission to the IAM policy for the
aws-load-balancer-controller service account.
@RamazanKara RamazanKara changed the title feat: add wafv2:ListWebACLs permission for ALB controller Feat: add wafv2:ListWebACLs permission for ALB controller Nov 12, 2025
@RamazanKara RamazanKara changed the title Feat: add wafv2:ListWebACLs permission for ALB controller feat: Add wafv2:ListWebACLs permission for ALB controller Nov 12, 2025
@bryantbiggs bryantbiggs changed the title feat: Add wafv2:ListWebACLs permission for ALB controller feat: Add wafv2:ListWebACLs permission for ALB controller Nov 12, 2025
@bryantbiggs bryantbiggs merged commit 9117ea6 into terraform-aws-modules:master Nov 12, 2025
7 of 9 checks passed
antonbabenko pushed a commit that referenced this pull request Nov 12, 2025
## [2.3.0](v2.2.1...v2.3.0) (2025-11-12)

### Features

* Add `wafv2:ListWebACLs` permission for ALB controller ([#47](#47)) ([9117ea6](9117ea6))
@antonbabenko
Copy link
Member

This PR is included in version 2.3.0 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants