Multi-Cloud Landing Zones & Governance
A platform engineering reference for account structure, identity hierarchy, network foundations, security guardrails, policy frameworks, sovereignty design, and governance operating models across AWS, Azure, and Google Cloud Platform.
- AWS: Control Tower landing zone v4.0 "Controls-Only" experience with optional service integrations and account auto-enrollment; Resource Control Policies (RCPs) are now a standard third guardrail alongside SCPs and Declarative Policies; Control Tower is available in the AWS European Sovereign Cloud as of January 2026.
- Azure: ALZ/SLZ platform library
2026.04.2adds a dedicated "Local" management group beneath Landing Zones (for Azure Local / hybrid / disconnected operations), and the Sovereign Landing Zone now assigns built-in policy initiatives aligned to sovereign control levels 1–3, replacing the earlier Sovereignty Baseline initiatives. - GCP: Cloud Foundation Fabric (v56.x) continues as the reference Terraform implementation for FAST-based landing zones, with org-level IAM deny policies now part of the standard organization schema alongside org policy constraints.
- New section: Policy Frameworks (§07) consolidates SCP / RCP / Declarative Policy on AWS, Azure Policy + Local MG on Azure, and Org Policy + IAM Deny Policy on GCP into one reference.
- New section: Sovereignty & Digital Residency (§08) — sovereign cloud and data-residency requirements are now a first-class landing zone design input, not a retrofit.
- New section: AI & Agentic Workload Guardrails (§11) — treating AI agent identities and MCP connector access as a governed resource type under the same landing zone discipline as human and CI/CD identities.
What Is a Landing Zone
A landing zone is a pre-configured, multi-account cloud environment that enforces security, identity, network, and compliance baselines before any application workload lands. It is infrastructure-as-policy: the goal is to make the compliant path the easy path.
Core Outcomes a Landing Zone Must Deliver
- Account isolation between workloads and environments
- Consistent identity and least-privilege access controls enforced by default
- Network segmentation with controlled egress and ingress
- Enforced security guardrails — preventative, detective, and (as of 2026) declarative/configuration-level
- Audit trails and observability from day one, not retrofitted
- Self-service account onboarding for teams without bypassing controls
- A defined data-residency and sovereignty posture, decided at design time rather than discovered during an audit
Account / Subscription / Project Structure
Organize cloud accounts into a hierarchy that reflects risk, compliance, and team boundaries — not feature boundaries.
Recommended Hierarchy
Relaxed guardrails
Prod-like, no egress
Strictest, full logging
Structural Rules
- One account/subscription per environment per workload boundary — no mixing
- Security and log archive accounts owned by the platform team; never delegated
- Sandbox accounts must have hard billing caps and auto-expiry policies
- Never mix production and non-production workloads in the same account
- All new accounts created through the vending machine pipeline, never the console
- On Azure, decide up front whether any workloads need a path to Local/disconnected operation — retrofitting the Local management group later means re-homing subscriptions
Identity & Access Hierarchy
Core Principles
- Centralize the identity provider — never create cloud-local users for humans
- Use short-lived credentials; eliminate long-lived access keys entirely
- Apply least privilege at every layer: org, account, resource, and action
- Separate duty between the platform team (account management) and application teams (workload IAM)
- MFA required for all human console access without exception
Role Tier Structure
| Role Tier | Who Uses It | Credential Lifetime |
|---|---|---|
| Break-glass / emergency admin | Security team only | Session < 1 hour, every use alerted |
| Platform admin | Cloud platform team | Federated session, max 8 h |
| Workload admin | Application team lead | Federated session, max 8 h |
| Developer read-only | All engineers | Federated session, max 4 h |
| CI/CD service identity | Pipelines | OIDC short-lived token — no static key |
| Workload runtime identity | Application processes | Instance profile / Managed Identity / WIF |
| AI agent identity NEW | Autonomous agent loops, MCP-connected tools | Scoped, short-lived; see §11 |
Network Foundations
Hub-and-Spoke Topology
All spoke VPCs/VNets connect to a hub that owns shared services. Spokes never peer directly with each other.
Firewall · NAT · DNS · VPN / Direct Connect
10.1.0.0/16
10.2.0.0/16
10.3.0.0/16
Egress Control Standards
| Traffic Type | Requirement |
|---|---|
| Internet egress | Proxied via centralized firewall with domain allowlist |
| Inter-spoke | Transits hub; explicit firewall rule required per path |
| Cloud-to-on-premises | Site-to-site VPN or dedicated circuit; no public internet path |
| PaaS services | Private endpoints / VPC endpoints only; disable public endpoint after activation |
| Inbound / ingress | WAF required for HTTP(S); allowlisted ports only; no wildcard rules |
| MCP / agent connector calls NEW | Routed through a controlled gateway; no direct outbound from agent runtime — see §11 |
IP Addressing Standards
- Allocate non-overlapping RFC 1918 ranges per environment tier at landing zone creation
- Reserve a /16 per tier to allow future spoke growth without re-addressing
- Maintain a central IPAM record (AWS VPC IPAM, Azure VNet Manager, or equivalent)
- Never reuse CIDR ranges previously routed to on-premises
- Enable VPC/VNet flow logs on all subnets at creation time, not retroactively
Security Baselines
Security baselines are guardrails the landing zone enforces on every account automatically. Preventative guardrails block non-compliant actions; detective guardrails alert on non-compliant state; declarative guardrails continuously hold a service configuration in the desired state, even as the provider ships new APIs.
Preventative Guardrails
| Control | AWS | Azure | GCP |
|---|---|---|---|
| Deny public storage buckets | SCP / RCP | Azure Policy (Deny) | Org Policy Constraint |
| Require encryption at rest | SCP + Config | Azure Policy | Org Policy |
| Restrict allowed regions | SCP | Azure Policy (allowed locations) | Org Policy |
| Deny root / global admin API calls | SCP | Conditional Access | Org Policy |
| Deny long-lived IAM keys for humans | SCP | Conditional Access / Entra | Org Policy |
| Restrict resource access to trusted identities NEW | Resource Control Policy (RCP) | Private Link + Conditional Access | VPC Service Controls + IAM Deny Policy |
Detective Guardrails
| Control | AWS | Azure | GCP |
|---|---|---|---|
| Config drift monitoring | AWS Config | Azure Policy / Defender | Security Command Center |
| Unused credential alerts | IAM Access Analyzer | Entra ID reports | IAM Recommender |
| Public resource exposure alert | Security Hub | Defender for Cloud | Security Command Center |
| Root / global admin login alert | CloudTrail + EventBridge | Entra audit logs | Cloud Audit Logs |
| Unencrypted storage alert | AWS Config Rule | Azure Policy | SCC Finding |
Mandatory Logging
All accounts must ship the following to the centralized log archive account from day one:
- Management plane / audit events (CloudTrail, Activity Log, Cloud Audit Logs)
- VPC / VNet flow logs
- DNS query logs
- Authentication events: login, role assumption, privilege escalation
- Config change events
- AI agent tool-call and connector invocation logs, tagged with session ID (see §11)
Policy Frameworks — 2026 Refresh
Every major provider now ships more than one policy type, and picking the wrong one for a control objective either under-protects the environment or creates unnecessary operational friction. This section consolidates the current (2026) policy surface for each provider.
AWS — Three Policy Types, Three Jobs
Limits what an IAM principal inside your organization can do. Since late 2025, SCPs support the full IAM policy language, including NotResource, conditions on Allow statements, and individual resource ARNs — not just wildcard denies.
Sets the maximum permissions available on a resource, regardless of who is calling — including principals external to the organization. Complements SCPs to close the "resource policy bypass" gap. Supports S3, STS, KMS, SQS, and Secrets Manager at launch, with coverage expanding. Effective permissions are the intersection of RCP, identity policy, and resource policy.
Holds a service's configuration in a desired state at the control-plane level — for example, blocking internet gateway access on new VPCs, or preventing public AMI sharing — and keeps enforcing it even as the service adds new APIs, including against service-linked roles that SCPs and RCPs cannot restrict.
Azure — Policy + the New Local Management Group
- Azure Policy (Deny / Audit / Modify / DeployIfNotExists effects) remains the primary preventative and remediation engine, assigned at management group scope and inherited downward.
- The ALZ platform library moved to Azure Verified Modules (AVM) as the recommended deployment mechanism over the older portal-based Accelerator UI — deploy via Terraform or Bicep AVM patterns, not manual console changes.
- The new Local management group (library release
2026.04.2) sits beneath Landing Zones alongside Corp and Online. It gives Azure Local clusters and disconnected-capable workloads a consistent governance home, and is inherited by the Sovereign Landing Zone automatically. - Conditional Access policies in Microsoft Entra ID continue to carry identity-layer guardrails (MFA enforcement, device compliance, session controls) that Azure Policy does not cover.
GCP — Org Policy Constraints Plus IAM Deny Policies
- Org Policy Constraints remain the primary preventative control, applied at organization or folder level and inherited by projects.
- IAM Deny Policies are now a standard part of the organization schema in Cloud Foundation Fabric — they set explicit deny rules that no Allow policy can override, closing gaps that Org Policy constraints alone don't reach (for example, denying specific principals org-wide regardless of any grants made later).
- VPC Service Controls continue to define a service perimeter around sensitive data services (BigQuery, Cloud Storage, etc.), preventing exfiltration even by principals with valid IAM grants.
Sovereignty & Digital Residency
Through 2025 and into 2026, sovereign cloud requirements moved from a niche public-sector concern to a mainstream landing zone design input across regulated industries and EU-based organizations. Decide the sovereignty posture during the landing zone design phase — retrofitting it means re-platforming workloads.
A distinct, EU-based AWS partition — available since January 2026 — operated and controlled independently, designed for customers whose regulatory posture requires infrastructure, operations, and support to stay within the EU. Control Tower is supported for landing zone deployment inside this partition.
Extends the standard ALZ hierarchy with sovereign policy initiatives now aligned to explicit sovereign control levels 1, 2, and 3 — replacing the earlier, less granular Sovereignty Baseline initiatives. Choose the control level based on data-residency and operational-sovereignty requirements, not just data classification.
Data-residency and sovereignty are enforced through Org Policy resource-location constraints, Assured Workloads-style control packages, and CMEK-based key sovereignty — layered onto the same folder/project hierarchy used for the rest of the landing zone rather than a separate platform.
Sovereignty Design Checklist
- Classify workloads by residency requirement (none / data-at-rest / data-in-use / full operational sovereignty) before choosing account, subscription, or project placement
- Confirm which control/support staff can access the environment — some sovereign tiers restrict this to in-region, vetted personnel
- Verify encryption key ownership and location (customer-managed keys, held in-region) for any workload with a residency requirement
- Treat sovereignty tier as an OU / management group / folder boundary, not a tag — tags are advisory, hierarchy boundaries are enforceable
- Re-validate sovereignty posture on every landing zone library upgrade — policy initiative names and scopes change between releases (as they did with the April 2026 SLZ refresh)
DNS & Connectivity Standards
DNS Architecture
- Deploy private hosted zones per VPC/VNet; internal services resolve by name, never by IP
- Central DNS resolvers in the hub VPC/VNet handle cross-spoke and on-premises resolution
- Internal names must not resolve from the public internet (no split-horizon leakage)
- DNS over HTTPS is not permitted for workloads — all queries route through the controlled resolver
Private Endpoint Policy
- All PaaS services (object storage, databases, queues, key management) must use private endpoints
- Disable the public endpoint on every PaaS resource after the private endpoint is confirmed healthy
- Private endpoint DNS entries must be registered in the central private zone automatically at creation
- Do not rely on manual DNS record management — automate via IaC or an event-driven pipeline
Cloud-Native Landing Zone Tooling
AWS: Control Tower + Account Factory for Terraform
- AWS Control Tower landing zone v4.0 introduces a "Controls-Only" experience — you can now selectively disable individual service integrations (and Control Tower removes the associated managed resources cleanly) instead of an all-or-nothing deployment.
- Auto-enrollment can be configured so accounts moved into a registered OU automatically inherit baselines and controls, without a manual Account Factory step.
- Extend with Account Factory for Terraform (AFT) for IaC-managed account vending with customizations.
- Deploy an AWS Security Hub aggregator in the security account to consolidate cross-account findings.
- Enroll all new accounts via Control Tower Account Factory or auto-enrollment — never create accounts manually in the console.
Azure: Azure Landing Zones (ALZ) + Sovereign Landing Zone (SLZ)
- Microsoft's reference implementation now favors Azure Verified Modules (AVM)-based Terraform and Bicep deployment through the ALZ IaC Accelerator, over the earlier ALZ Portal accelerator.
- Management group hierarchy: Root → Platform → Landing Zones (Corp / Online / Local) → Sandbox.
- Built-in policy initiatives enforce logging, Defender for Cloud, encryption, and region restrictions automatically; SLZ layers sovereign control-level initiatives on top.
- Deploy via Azure DevOps or GitHub Actions pipelines using the library at its current release (
2026.04.2or later) — not the portal.
GCP: Cloud Foundation Fabric
- Google Cloud Foundation Fabric (
GoogleCloudPlatform/cloud-foundation-fabric) is the reference Terraform implementation, with Fabric FAST as the stage-based, opinionated bootstrap path. - Resource hierarchy: Organization → Folders (per environment) → Projects.
- Enforced via Org Policy Constraints applied at folder level, plus organization-level IAM Deny Policies, both inherited by all projects beneath.
- Use the Project Factory module (Terraform) for self-service project vending with guardrail inheritance.
Patterns Common to All Providers
| Concern | Pattern |
|---|---|
| New account / project creation | Vending machine pipeline (IaC + CI/CD); never manual console |
| Guardrail deployment | Apply at org / MG / folder root; individual accounts inherit, never override |
| Logging destination | Dedicated audit account; app teams get read-only access only |
| Break-glass access | Credentials in secrets manager; alert on every use; time-limited session |
| Drift detection | Continuous compliance scan; P1 deviations alert within 15 minutes |
| Landing zone library upgrades | Track upstream release notes as a recurring platform-team task, not a one-off — 2026 saw multiple structural changes (AWS LZ v4.0, ALZ 2026.04.2) |
AI & Agentic Workload Guardrails
By 2026, autonomous agent loops and MCP-connected tools became a routine workload type inside application landing zones — not a separate platform. The governance answer is not a new control plane; it's applying existing landing zone discipline (identity, network egress, secrets, audit logging) to a resource type that acts faster and less predictably than a human operator.
- Agent runtime identities use the same short-lived, workload-identity mechanisms as any other service (Managed Identity, WIF, instance profile) — never a static key
- Scope MCP connector credentials to the exact operations required; treat "read" and "write" connectors as separate grants with separate approval
- Register agent and MCP connector identities in the same IAM inventory as human and CI/CD identities — no shadow credential store
- Route all agent and MCP connector calls through a controlled gateway, not direct outbound from the agent runtime
- Apply the same private-endpoint and egress-allowlist rules from §05 to any service an agent can reach
- Use RCPs / VPC Service Controls / Azure Private Link to ensure an agent's elevated reach cannot become a path to a resource a human in the same role couldn't access
Guardrail Checklist for Agent-Accessible Accounts
- Every MCP server and connector is a governed, inventoried asset — approved before activation, not discovered after the fact
- Audit log every connector invocation with a session ID, correlated to the same log archive account used for human and CI/CD activity
- Apply budget and blast-radius limits (turn count, cost, duration) to autonomous loops the same way you'd apply quotas to a shared sandbox account
- No agent identity gets write access to production landing zone guardrails (SCP/RCP/Org Policy) — that remains a human-gated platform-team action
- Treat a bad agent-written memory or instruction as a security incident class, not a bug — it can bias every subsequent decision the agent makes
Governance Operating Model
A landing zone without a governance loop decays. Establish clear ownership and a review cadence before day one.
Role Ownership
| Role | Responsibility |
|---|---|
| Cloud Platform Team | Landing zone definition, vending pipeline, hub network, shared services, library/version upgrades |
| Security Team | Detective guardrails, SIEM integration, access review cadence, exception sign-off, RCP/Deny policy design |
| FinOps / Cost Team | Tagging policy, budget alerts, rightsizing recommendations |
| Application Team | Consumes accounts via vending machine; owns workload IAM, workload network rules, and any agent/MCP connectors it deploys |
| Compliance / Risk | Reviews control exceptions; signs off on guardrail relaxation requests and sovereignty tier assignment |
Review Cadence
| Review | Frequency | Owner |
|---|---|---|
| Guardrail compliance dashboard | Continuous (automated) | Platform + Security |
| Privileged role and agent-identity access review | Quarterly | Security |
| OU / account structure review | Semi-annual | Platform |
| Cost and quota review | Monthly | FinOps |
| DR drill for platform accounts | Annual | Platform + Security |
| Landing zone version upgrade | Per provider major release | Platform |
Exception Process
- Application team submits exception request with business justification and compensating controls
- Security team reviews and classifies as accepted risk or rejected within 5 business days
- Accepted exceptions are time-boxed (maximum 90 days) and tracked in a risk register
- Exceptions automatically expire; teams must re-justify to extend
Cloud Mappings
| Concept | AWS | Azure | GCP |
|---|---|---|---|
| Root grouping | Organization | Tenant / Root Management Group | Organization |
| Account grouping | Organizational Unit (OU) | Management Group | Folder |
| Isolation unit | Account | Subscription | Project |
| Landing zone tooling | Control Tower v4.0 + AFT | Azure Landing Zones (AVM / Bicep / TF, lib 2026.04.2) | Cloud Foundation Fabric (FAST) |
| Principal-centric guardrail | Service Control Policy (SCP) | Azure Policy (Deny effect) | Org Policy Constraint |
| Resource-centric guardrail NEW | Resource Control Policy (RCP) | Private Link + Conditional Access | VPC Service Controls |
| Configuration-enforcement guardrail NEW | Declarative Policy | Azure Policy (DeployIfNotExists / Modify) | Org Policy (managed constraints) |
| Explicit deny across all grants NEW | RCP explicit Deny statement | Azure Policy Deny + Conditional Access block | IAM Deny Policy |
| Detective guardrails | AWS Config + Security Hub | Defender for Cloud + Azure Policy | Security Command Center |
| Sovereign / regulated variant NEW | AWS European Sovereign Cloud | Sovereign Landing Zone (control levels 1–3) | Sovereign controls via Org Policy + Assured Workloads-style packages |
| Hybrid / disconnected governance home NEW | Outposts account/OU pattern | Local management group | Distributed Cloud project pattern |
| Identity federation | IAM Identity Center (SSO) | Microsoft Entra ID | Cloud Identity / Workspace |
| Workload identity | IAM Role (Instance Profile) | Managed Identity | Workload Identity Federation |
| CI/CD identity | OIDC → IAM Role | OIDC → Workload Identity | OIDC → WIF + Service Account |
| Centralized logging | CloudTrail + S3 (audit account) | Diagnostic Settings → Log Analytics | Cloud Audit Logs → GCS Sink |
| Hub networking | Transit Gateway + AWS Firewall | Virtual WAN + Azure Firewall | Network Connectivity Center + Cloud Firewall |
| Private connectivity | VPC Endpoint (Interface / Gateway) | Private Endpoint | Private Service Connect |
| Private DNS | Route 53 Private Hosted Zone | Azure Private DNS Zone | Cloud DNS Private Zone |
| IP address management | VPC IPAM | Azure VNet Manager | Custom IPAM (no native equivalent) |
| Secrets management | AWS Secrets Manager | Azure Key Vault | Secret Manager |
Implementation Checklist
Organization & Structure
- Root organization / tenant created and documented
- OU / management group hierarchy matches security domains (Security, Infrastructure, Workloads, Sandbox, and Local where hybrid/disconnected applies)
- Account vending machine pipeline operational — no manual account creation
- Break-glass account exists, stored in secrets manager, alerts on every use
- Sandbox accounts have billing caps and auto-expiry configured
Identity & Access
- All human access via federated SSO — no cloud-local users for humans
- MFA enforced for all human access without exception
- No long-lived access keys for humans, CI/CD pipelines, or AI agents
- CI/CD pipelines use OIDC workload identity federation
- Workload runtime uses instance profile / managed identity / WIF
- AI agent and MCP connector identities inventoried in the same IAM review as human and CI/CD identities
- Quarterly access review scheduled and owned
Network
- Hub VPC/VNet deployed in dedicated infrastructure account
- Non-overlapping CIDR ranges allocated and recorded in IPAM
- Flow logs enabled on all VPCs/VNets at creation
- All internet egress proxied through centralized firewall
- Spokes do not peer directly with each other
- Private endpoints deployed for all PaaS services in production
- Agent/MCP connector calls routed through a controlled gateway, not direct outbound
Policy & Security Baselines
- SCP / Azure Policy / Org Policy applied at root preventing public storage
- RCP (AWS) or equivalent resource-centric perimeter defined for externally reachable resources
- Declarative Policy / DeployIfNotExists coverage evaluated for high-churn service settings
- Encryption at rest required by policy for all new storage resources
- All accounts enrolled in Security Hub / Defender for Cloud / Security Command Center
- Centralized log archive account operational; retention policy enforced (1 yr hot / 7 yr cold)
Sovereignty
- Workloads classified by residency requirement before account/subscription/project placement
- Sovereign tier mapped to a hierarchy boundary (OU / management group / folder), not just a tag
- Encryption key custody and location verified for any workload with a residency requirement
- Sovereign policy library version tracked and re-validated on every upgrade
Governance
- Platform, Security, and FinOps ownership documented and acknowledged
- Compliance dashboard visible to platform and security teams continuously
- Exception process documented and accessible to application teams
- Review cadence (quarterly, semi-annual, annual) scheduled in team calendar
- Landing zone version upgrade process defined and owned