Skip to content

Security Boundaries

Classic VPC association affects the DNS control plane only. It is not network connectivity and not IAM cross-account access.

Read this section before Phase 2a.

  1. Network_Account creates VPCAssociationAuthorization for an exact vpc_id + vpc_region
  2. VPC-owning account calls AssociateVPCWithHostedZone

Same-account associations skip step 1.

GrantsDetail
DNS resolutionAssociated VPCs resolve Platform_Zone records via the VPC resolver
Record controlNetwork_Account retains exclusive CRUD on record sets
Does not grantDetail
Network pathdig success does not mean traffic routes to record IP targets
IAM accessNo cross-account role trust or resource access
Local PHZ copiesWorkload accounts must not create duplicate private zones for the same domain

Security properties of classic authorization

Section titled “Security properties of classic authorization”
  • Explicit allow-list — network authorizes specific VPC IDs; no account-wide associate permission
  • Region-scopedvpc_region on authorization must match the target VPC’s region
  • Auditable two-step — authorization and association are separate API calls with separate CloudTrail events
  • Revocable — disassociate the VPC, then delete the authorization; resolution stops from that VPC

The source demo uses SSO AdministratorAccess per account. For production, scope Route 53 actions per account role:

AccountTypical Route 53 actions
Network (zone owner)CreateVPCAssociationAuthorization, DeleteVPCAssociationAuthorization, ChangeResourceRecordSets, GetHostedZone, same-account associate/disassociate
Workload (VPC owner)AssociateVPCWithHostedZone, DisassociateVPCFromHostedZone, ListHostedZonesByVPC

The source demo does not ship custom Route 53 IAM policies.

Route 53 rejects hosted zone deletion while cross-account associations exist. Follow Teardown order: disassociate workload VPCs before destroying the network stack.

Intentionally excluded (security hardening)

Section titled “Intentionally excluded (security hardening)”

Out of demo scope but relevant at scale:

  • Resolver query logging
  • Route 53 DNS Firewall
  • SCPs restricting AssociateVPCWithHostedZone to approved roles
  • Route 53 Profiles / RAM for centralised lifecycle management

See Why Classic for pattern tradeoffs.