Skip to main content

API Gateway Security Architecture (2026): WAF, Cognito, Private APIs, and Verified Permissions

Security & ComplianceUpdated Nash Ogden3 min read

Quick summary: After Cognito multi-Region replication (June 2026), a B2B API platform (~18k RPS peak) cut auth-related 5xx during a regional drill from 4.2% to 0.1%, but a missing WAF rate rule still let a scraper burn $1.8k in a weekend.

Key Takeaways

  • Amazon Verified Permissions continues to wire Cedar policies to API Gateway via a console wizard and Lambda authorizer for group- and attribute-based access (AVP + API Gateway, Cognito AVP authz)
  • This is the API security architecture: edge, authz, private vs public, abuse
  • For REST/HTTP/WebSocket patterns, JWT vs introspection, or the Shield Advanced buyer guide, see those posts
  • Benchmark silhouette (not a cited client): B2B SaaS API, ~18k RPS peak, Cognito user pool, public REST + two private partner APIs
  • Regional auth drill before MRR: auth 5xx 4.2% for 14 minutes
API Gateway Security Architecture (2026): WAF, Cognito, Private APIs, and Verified Permissions
Table of Contents

In June 2026, Amazon Cognito launched multi-Region replication so user pools on Essentials or Plus can keep authentication available in a standby Region during a regional disruption (What’s New, developer guide). Amazon Verified Permissions continues to wire Cedar policies to API Gateway via a console wizard and Lambda authorizer for group- and attribute-based access (AVP + API Gateway, Cognito AVP authz).

This is the API security architecture: edge, authz, private vs public, abuse. For REST/HTTP/WebSocket patterns, JWT vs introspection, or the Shield Advanced buyer guide, see those posts.

Artifacts: authz decision matrix, hardening checklist, architecture diagram (draw.io).

Four layers, from edge to backend

LayerDefaultNotes
EdgeCloudFront + AWS WAF (or WAF on API stage)Rate rules on auth and export paths
AuthnCognito JWT authorizerIAM SigV4 for service principals
AuthzCognito groups → upgrade to Verified PermissionsCedar when rules change faster than deploys
NetworkPrivate API + resource policy / VPC LatticeNever “temporarily” publicize private APIs

Opinionated take: Put WAF in front of every public API before you tune Cedar policies. Cedar policies do not stop a cheap L7 scrape.

Reference architecture

Clients ──► CloudFront ──► AWS WAF ──► API Gateway (public)
                                      │
                                      ├── JWT authorizer (Cognito)
                                      │      └── optional AVP Lambda authorizer (Cedar)
                                      └── integration ──► Lambda / VPC Lattice / HTTP

Internal ──► Private API Gateway ◄── VPC endpoint + resource policy
                                      └── IAM SigV4

Private API patterns with VPC Lattice for cross-account exposure are documented in AWS Containers guidance (API Gateway + VPC Lattice).

Choose the authorizer

Use authz-decision-matrix.md:

  • End users: Cognito JWT
  • Fine-grained / multi-service rules: Verified Permissions
  • AWS service callers: IAM
  • Public read: WAF + cache; still inventory every method

What broke: JWT without rate limits

What Cognito multi-Region replication fixes

MRR replicates user directory and config to a secondary Region (max 2 replicas). Requirements include Essentials/Plus, a multi-Region CMK, and a multi-Region OIDC issuer. It does not replicate your API Gateway stages or data stores. Pair with your API DR runbook.

What to Do This Week

  1. Inventory every API method: public vs private, authorizer type, WAF association.
  2. Score authz needs with the decision matrix; schedule AVP only where groups are insufficient.
  3. Add rate-based WAF rules on auth, search, and export.
  4. If auth is a single-Region SPOF, evaluate Cognito MRR prerequisites (plan tier, CMK, OIDC issuer).

What This Post Doesn’t Cover

  • WebSocket fan-out security edge cases
  • mTLS partner termination design
  • Full Shield Advanced commercial decision (buyer guide)
  • AppSync-specific auth modes

Frequently asked questions

When should we NOT use a Lambda authorizer?
Skip custom Lambda authorizers when Cognito JWT or IAM SigV4 already matches the trust model. Add Lambda + Verified Permissions when authorization rules outgrow Cognito groups and must be shared across services.
When is a private API the wrong choice?
When external mobile/web clients must call you directly without a public edge. Use a public API (often behind CloudFront) with JWT + WAF instead of "temporary" public exposure of a private API.
Does Cognito multi-Region replication replace multi-Region API design?
No. June 2026 MRR keeps auth available in a standby Region (Essentials/Plus, multi-Region CMK + OIDC issuer). You still need API and data plane failover. Max two replicas per directory.
What could go wrong with Verified Permissions on API Gateway?
Over-flat schemas that encode every path as an action without group design, or attaching the authorizer to only some methods and leaving admin routes open. Audit method-level authorizer coverage.
Are API keys enough for partner auth?
No. Treat usage plans/API keys as metering. Partners need IAM, mutual TLS patterns, or token-based auth with AVP/Cedar policies.
How is this different from the API Gateway patterns post?
Patterns covers REST/HTTP/WebSocket shapes. This post is the security stack: edge, authn/authz, private networking, and abuse controls.
Nash Ogden
Nash Ogden

Agentic AI & Cloud Security

Works on making teams more productive with agentic AI. Writes the FactualMinds guides on AWS security and compliance: identity, threat detection, data protection, and audit readiness, the controls AI agents need before they touch production systems.

Agentic AIAI Agent GovernanceAWS SecurityComplianceIAMThreat Detection

Recommended Reading

Explore All Articles »