Blog >

Zero Trust Network Architecture Explained

Posted by Hadi @draft1 | September 27, 2026

Zero Trust Network Architecture Explained

Zero trust architecture is a security model that assumes no user, device, or network segment is trustworthy by default, requiring continuous verification for every request. Instead of relying on a hardened perimeter and a trusted internal network, zero trust treats every connection — internal or external — as potentially hostile until proven otherwise.

This article breaks down the core principles of zero trust, how they translate into real AWS architecture decisions, and where teams commonly get it wrong. Along the way we'll build out an example network security diagram for a mid-sized SaaS company migrating from a traditional VPC perimeter model to a zero trust posture, with concrete services, ports, and protocols.

What Zero Trust Actually Means

Zero trust means "never trust, always verify" — every request is authenticated, authorized, and encrypted regardless of where it originates, including from inside the corporate network. This is a direct rejection of the older castle-and-moat model, where anything inside the firewall was implicitly trusted.

The model is formalized in NIST SP 800-207 (published 2020), which defines zero trust architecture (ZTA) around a Policy Decision Point (PDP) and Policy Enforcement Point (PEP) that evaluate every access request against dynamic policy — considering user identity, device posture, location, time, and requested resource sensitivity. In practice this means:

  • No implicit trust based on network location (being on the VPN or inside a VPC no longer grants access).
  • Access is granted per-session, per-resource, and is continuously re-evaluated, not just checked at login.
  • Least-privilege access is enforced down to the individual workload or data object, not the subnet.
  • All traffic is logged and inspected, since visibility is a prerequisite for verification.

Zero trust is not a single product you buy — it's an architecture pattern implemented through a combination of identity providers, micro-segmentation, encrypted transport, and policy engines working together.

The Core Pillars of a Zero Trust Architecture

A working zero trust architecture rests on five interlocking pillars: identity, device trust, network segmentation, application-layer authorization, and continuous monitoring. Weakness in any one pillar undermines the others.

Identity is the new perimeter. Every human and machine identity should authenticate through a central identity provider (IdP) — AWS IAM Identity Center, Okta, Azure AD/Entra ID — using SAML 2.0 or OIDC, ideally with phishing-resistant MFA (FIDO2/WebAuthn) rather than SMS or TOTP.

Device trust verifies the endpoint itself, not just the user. Tools like Jamf, CrowdStrike Falcon, or AWS Verified Access device posture checks confirm patch level, disk encryption, and EDR status before granting access.

Micro-segmentation replaces flat networks with tightly scoped segments — in AWS terms, this means separate VPCs or subnets per workload tier, security groups that allow only specific ports between specific resources, and no default "allow all within VPC" rules.

Application-layer authorization moves policy enforcement from the network layer (IP allow-lists) to the application layer (JWT claims, attribute-based access control). A service should validate a signed token on every call, not just trust that a request arrived from an internal IP.

Continuous monitoring feeds telemetry — VPC Flow Logs, CloudTrail, GuardDuty findings, application logs — into a SIEM so that anomalous access patterns trigger automatic revocation, not just an alert ticket three days later.

Zero Trust vs. Traditional Perimeter Security

The comparison below highlights why organizations are shifting models, and what each approach costs you operationally.

Aspect Perimeter Model Zero Trust Model
Trust basis Network location (inside/outside firewall) Identity + device posture, per-request
Lateral movement risk High once inside network Low — segmented, re-verified at each hop
Primary controls Firewall, VPN, NAT gateway IAM policies, mTLS, policy engine
Remote access Full VPN tunnel into flat network Scoped, per-app access (e.g. AWS Verified Access)
Operational overhead Lower initial setup Higher initial setup, lower breach blast radius

Neither model is "free." Perimeter security is cheaper to stand up initially but [create](https://www.draft1.ai/blog/how-to-create-an-ai-agent-architecture-with-rag-step-by-step-guide)s a single point of catastrophic failure — once an attacker gets a foothold via phishing or a leaked VPN credential, they typically have broad internal reach. Zero trust reduces that blast radius significantly but requires more upfront engineering: policy definition, service mesh or API gateway rollout, and often organizational change management since it affects how every team accesses systems.

Building a Zero Trust Architecture on AWS: A Worked Example

A practical zero trust deployment on AWS combines IAM Identity Center for human access, AWS Verified Access for application access, PrivateLink for service-to-service traffic, and Security Groups plus Network Firewall for segmentation — with no component trusted purely by virtue of network position.

Consider a SaaS company with an internal admin dashboard, a customer-facing API, and a data pipeline that reads from S3 and writes to RDS PostgreSQL. Here's how the architecture maps out:

Identity layer. Employees authenticate to AWS IAM Identity Center via Okta as the external IdP over SAML 2.0. Every IAM role assumption requires MFA, and session duration is capped at one hour for anything touching production. No standing IAM users or long-lived access keys exist — everything is short-lived STS credentials.

Access layer for internal apps. Instead of a traditional VPN, internal tools (the admin dashboard, Grafana, internal wikis) sit behind AWS Verified Access, which evaluates identity (via IAM Identity Center) and device trust signals (via integration with Jamf or CrowdStrike) on every HTTPS request over port 443, before ever routing traffic to the target ALB. There is no broad VPN tunnel; a compromised laptop can't "see" the internal network — it can only reach the specific application it was authorized for, and only while posture checks pass.

Network segmentation. The VPC is split into three subnet tiers per Availability Zone: public (ALB only), private-app (ECS/EKS workloads), and private-data (RDS, ElastiCache). Security groups are scoped to specific source security groups rather than CIDR ranges — for example, the RDS security group allows inbound TCP 5432 only from the "app-tier-sg" security group, never from 0.0.0.0/0 or even the full VPC CIDR. AWS Network Firewall sits at the VPC boundary to inspect egress traffic and block connections to non-approved domains, since data exfiltration over allowed ports (443) is a common bypass for network-only controls.

Service-to-service traffic. The data pipeline reads S3 objects via VPC Gateway Endpoints and writes to RDS through VPC Interface Endpoints (PrivateLink), so traffic never traverses the public internet even for AWS-to-AWS calls. Each Lambda function or ECS task assumes a scoped IAM role via task roles / execution roles — least privilege down to specific S3 prefixes and specific RDS actions via IAM database authentication rather than shared static credentials.

Encryption everywhere. TLS 1.2+ terminates at the ALB (using ACM certificates) and re-encrypts to the backend where compliance requires it (mTLS between ALB and ECS tasks via AWS App Mesh or a service mesh like Istio). Data at rest is encrypted with KMS customer-managed keys, and RDS enforces rds.force_ssl=1 so even in-VPC database connections are encrypted.

Continuous verification and monitoring. VPC Flow Logs, GuardDuty, Security Hub, and CloudTrail feed into a centralized log account via AWS Organizations, aggregated in Amazon Security Lake or a third-party SIEM (Splunk, Datadog). GuardDuty findings for anomalous API calls (e.g., an IAM role suddenly calling s3:GetObject from an unfamiliar region) can trigger an EventBridge rule that automatically revokes the session via a Lambda function calling revoke-session or updating an SCP.

A simplified textual network security diagram for this setup:

Internet
   │
   ▼ (HTTPS/443, TLS 1.2+)
[Route 53] → [WAF] → [ALB - public subnet]
   │
   ▼ (mTLS)
[ECS/EKS tasks - private-app subnet]  ←→  [AWS Verified Access] ←→ [IAM Identity Center + Okta]
   │
   ▼ (TCP 5432, SG-scoped, IAM auth)
[RDS PostgreSQL - private-data subnet]
   │
   ▼ (PrivateLink / Gateway Endpoint)
[S3] [Secrets Manager] [KMS]

Egress: all outbound → [AWS Network Firewall] → allow-listed domains only
Logging: VPC Flow Logs + CloudTrail + GuardDuty → [Security Lake / SIEM] → EventBridge auto-remediation

This diagram illustrates the key zero trust property: there is no single "trusted zone." Every arrow represents an authenticated, encrypted, and logged hop, and compromise of any one node (say, an ECS task) doesn't grant lateral access to RDS or S3 without separately valid credentials scoped to that specific resource.

Common Pitfalls When Implementing Zero Trust

Most zero trust failures aren't architectural — they're the result of partial rollouts that leave old trust assumptions in place alongside new controls, creating a false sense of security.

Segmenting the network but not the identity layer. Teams often deploy tight security groups and PrivateLink endpoints, then leave IAM roles with wildcard s3:* or Resource: "*" permissions. Network segmentation without least-privilege IAM policies just moves the trust boundary; it doesn't remove it.

Treating VPN replacement as a lift-and-shift. Swapping a VPN for a zero trust access broker (like Verified Access, Zscaler Private Access, or Cloudflare Access) but pointing it at the same flat network defeats the purpose. The access broker needs to route to specific applications, not to a shared subnet where lateral movement is still possible.

Ignoring machine identities. Zero trust programs frequently focus on human MFA and SSO while leaving service accounts, CI/CD pipelines, and Lambda functions with long-lived static credentials. In many breaches (including the well-documented 2023 CircleCI incident) the initial compromise came through a machine identity or session token, not a human login.

No continuous re-evaluation. Some implementations authenticate once at session start and then trust that session for eight hours, which is not meaningfully different from perimeter trust. True zero trust re-evaluates device posture and risk signals continuously — AWS Verified Access, for instance, can re-check posture on subsequent requests, not just at initial login.

Underestimating latency and cost. Adding mTLS handshakes, policy engine lookups, and additional hops (like PrivateLink endpoints, which cost roughly $0.01/hour per AZ plus per-GB data processing charges as of AWS's published pricing) adds real latency and real dollars. Teams should benchmark p99 latency impact before rolling zero trust controls to latency-sensitive paths like real-time bidding or trading systems.

Key Takeaways

  • Zero trust architecture replaces "trust by network location" with "trust by continuously verified identity, device, and context" — it's a set of principles (per NIST SP 800-207), not one product.
  • On AWS, zero trust typically combines IAM Identity Center, AWS Verified Access, PrivateLink, scoped security groups, and Network Firewall rather than a single flagship service.
  • Micro-segmentation must be paired with least-privilege IAM policies — network controls alone leave identity-based lateral movement wide open.
  • Machine identities (CI/CD, Lambda, service accounts) need the same short-lived-credential discipline as human users; they're a frequent, under-protected attack vector.
  • Continuous monitoring (VPC Flow Logs, GuardDuty, CloudTrail into a SIEM) is what makes "continuous verification" real — without it, zero trust degrades into one-time authentication.
  • Zero trust adds latency, operational complexity, and direct cost (endpoint hours, data processing, policy engine calls) — budget and benchmark before a blanket rollout.
  • A clear network security diagram showing every trust boundary, protocol, and port is essential both for engineering review and for compliance audits (SOC 2, ISO 27001, FedRAMP).

Frequently Asked Questions

What is zero trust architecture in simple terms?

Zero trust architecture is a security approach where no user, device, or network segment is automatically trusted, even if it's inside the corporate network. Every access request is authenticated, authorized against policy, and encrypted, and access is scoped narrowly to only what's needed for that specific task.

Is zero trust a specific product or technology?

No, zero trust is an architectural model, not a single product — NIST SP 800-207 defines the principles, and organizations implement it using a combination of identity providers, access brokers (like AWS Verified Access or Zscaler), micro-segmentation, and encryption. Vendors sell components that support zero trust, but no single purchase makes an environment "zero trust."

How is zero trust different from a VPN?

A traditional VPN grants broad network-level access once a user authenticates, effectively placing them "inside" the trusted network. A zero trust access model instead grants access to individual applications after continuous identity and device verification, without ever exposing the underlying network to the client.

Does zero trust eliminate the need for firewalls and VPCs?

No, zero trust complements network controls rather than replacing them. Firewalls, security groups, and VPC segmentation remain part of defense-in-depth; zero trust adds identity- and context-aware policy enforcement on top so that even traffic within the VPC is verified, not implicitly trusted.

How long does it take to migrate to a zero trust architecture?

Migration timelines vary widely, but most mid-sized organizations plan for phased rollouts over 12-24 months rather than a single cutover. Teams typically start with human identity and MFA, then move to segmenting critical workloads, then extend to machine identities and legacy applications, which are usually the hardest to retrofit.

What are the main cost drivers of zero trust on AWS?

The main costs are PrivateLink/VPC endpoint hourly and data-processing charges, AWS Verified Access usage fees, additional compute for policy engines or service mesh sidecars, and engineering time to define fine-grained IAM policies. Organizations should also budget for the operational cost of managing more granular security groups and policies compared to a flatter perimeter model.

Can zero trust be implemented gradually, or does it require a full rewrite?

It can and generally should be implemented gradually — most successful programs start with the highest-risk systems (admin access, customer data stores) and expand outward. Attempting a full simultaneous rewrite of network, identity, and application layers introduces high operational risk and is rarely how real organizations execute it.


Draw this in seconds with draft1. Describe your architecture in plain English and draft1 generates an editable AWS/cloud diagram plus documentation — no dragging boxes around. Try it free.

Draw this in ~20 seconds

Describe your own version of this architecture and draft1 generates an editable draw.io diagram — boxes, arrows, labels, the lot.

Generate this diagram free ➔

Free demo — no signup. Then 3 free diagrams with an account, no card.