Engineering Notes
Home/DevOps & Cloud/AWS/Multi-Account Strategy and AWS Organizations
DevOps & Cloud · AWS

Multi-Account Strategy and AWS Organizations

One account for everything is one blast radius for everything. Design an organization with OUs for security, infrastructure, workloads and sandboxes; enforce guardrails with SCPs; and centralize identity, networking, logging and security.

☁️ DevOps & Cloud● Advanced⏱ 4 min read▶ 2 interactive🛠️ 1 exercise🎤 5 interview Q&As

🎯 What you'll learn

  • Why many accounts and which account types
  • AWS Organizations: OUs, SCPs, RCPs and other policies
  • Control Tower, landing zones and account vending
  • Identity, networking and central security across accounts

📚 Before you start

1Why Many Accounts

An AWS account is the strongest isolation boundary AWS offers: separate IAM, quotas, billing, and blast radius. Putting everything in one account means one compromised credential, one runaway script or one quota exhaustion affects everything. The recommended practice is many accounts, organized by purpose:

Account typeExamples
management (payer)only Organizations, billing, SSO admin — no workloads
securitylog archive (CloudTrail/Config logs, immutable), security tooling (GuardDuty/Security Hub delegated admin)
infrastructure / shared servicesnetworking hub (Transit Gateway, DNS), CI/CD, shared ECR
workloadsper application/team and per environment: orders-dev, orders-staging, orders-prod
sandboxindividual experimentation with budgets and auto-cleanup

2AWS Organizations

  • Accounts grouped into organizational units (OUs): Security, Infrastructure, Workloads/Prod, Workloads/NonProd, Sandbox, Suspended.
  • Consolidated billing (volume discounts, shared Savings Plans/RIs) — 24-cost_optimization_and_well_architected/.
  • Policies:
    • SCPs (service control policies) — maximum permissions for accounts in an OU (even root): deny regions, deny disabling security services, deny leaving the org, require IMDSv2… (21-iam_deep_dive/)
    • RCPs (resource control policies) — maximum permissions on resources (e.g. no S3/KMS/Secrets access from outside the organization)
    • declarative policies (EC2 baseline settings), tag policies, backup policies, AI opt-out policies
  • Delegated administrators for security services so the management account stays clean.
json
{
  "Version": "2012-10-17",
  "Statement": [{
    "Sid": "DenyOutsideApprovedRegions",
    "Effect": "Deny",
    "NotAction": ["iam:*", "organizations:*", "sts:*", "support:*", "cloudfront:*", "route53:*", "budgets:*"],
    "Resource": "*",
    "Condition": { "StringNotEquals": { "aws:RequestedRegion": ["eu-west-1", "eu-central-1"] } }
  }]
}

3Control Tower and Landing Zones

A landing zone is the pre-configured multi-account baseline. AWS Control Tower builds and governs one: creates the Security OU with log archive and audit accounts, sets up IAM Identity Center, an organization-wide CloudTrail, AWS Config, and applies controls (preventive = SCPs/RCPs, detective = Config rules, proactive = CloudFormation Hooks). Account Factory (or Account Factory for Terraform, AFT) vends new accounts with baselines (VPC, roles, budgets) in minutes.

4Identity Across Accounts

  • IAM Identity Center with your IdP: users get permission sets (e.g. ReadOnly, Developer, Admin) per account; no IAM users anywhere.
  • Workloads and CI use cross-account roles (OrganizationAccountAccessRole only for break-glass; purpose-built deploy roles otherwise).
  • Use aws:PrincipalOrgID in resource policies to allow "anyone in our org" safely.

5Networking Across Accounts

  • Transit Gateway (hub-and-spoke routing between VPCs and on-prem), VPC sharing via Resource Access Manager (central network team owns subnets, workload accounts launch into them), PrivateLink for exposing specific services.
  • Centralized egress/inspection VPC (NAT + Network Firewall) and centralized DNS (Route 53 Resolver rules shared via RAM).
  • Plan non-overlapping CIDRs across all accounts from day one (IPAM).

6Central Security and Logging

  • Organization CloudTrail → log archive account bucket (object lock, restricted access).
  • GuardDuty, Security Hub, Config, IAM Access Analyzer, Inspector enabled org-wide with a delegated admin in the security account.
  • Budgets and cost anomaly detection per account; tags enforced by tag policies.
Under the HoodHow SCPs Combine With IAM▾

An SCP grants nothing by itself; it defines the maximum permissions available to principals in an account. When a principal in a member account makes a request, AWS evaluates the SCPs attached to every level from the organization root down through each parent OU to the account — the request must be allowed at every level (the default FullAWSAccess SCP allows everything, so in practice guardrails are written as explicit Deny statements). The SCP result is intersected with the account's own identity and resource policies (21-iam_deep_dive/ evaluation logic). SCPs don't apply to the management account or to service-linked roles, which is one reason the management account must not host workloads — and why sensitive operations there must be tightly controlled.

An organization root contains OUs for Security, Infrastructure, Workloads split into Prod and NonProd, and Sandbox; SCPs at each level cap permissions, Identity Center provides SSO permission sets, logs flow to a log archive account and security services report to a delegated admin
An organization root contains OUs for Security, Infrastructure, Workloads split into Prod and NonProd, and Sandbox; SCPs at each level cap permissions, Identity Center provides SSO permission sets, logs flow to a log archive account and security services report to a delegated admin

⚠️ Common Pitfalls

  1. Workloads in the management account.
  2. One account for prod and dev.
  3. IAM users per account instead of Identity Center.
  4. Overlapping VPC CIDRs that block peering/Transit Gateway later.
  5. SCPs tested in production OUs first — test in a sandbox OU.
  6. No log archive isolation — attackers delete trails in the same account.

📋 Quick Reference

text
accounts: management (no workloads) · security (log archive, audit) · infrastructure · workloads per app×env · sandbox
Organizations: OUs + SCPs/RCPs/tag/backup policies · consolidated billing · delegated admins
landing zone: Control Tower (+ Account Factory / AFT) · Identity Center permission sets
network: Transit Gateway, VPC sharing (RAM), PrivateLink, IPAM · org-wide CloudTrail, GuardDuty, Security Hub, Config

🧠 Key takeaways

  • Accounts are the strongest isolation boundary: separate workloads by team × environment, keep the management account empty.
  • Organize with OUs; SCPs/RCPs set maximum permissions (deny regions, protect security services).
  • Use Control Tower (landing zone + controls) and Account Factory/AFT to vend accounts with baselines.
  • Centralize Identity Center, networking (TGW/VPC sharing/IPAM), org CloudTrail → log archive, GuardDuty/Security Hub.

🎤 Interview Q&A

Questions interviewers ask about this topic. Answer out loud first, then open a card to compare.

Q1Why use multiple AWS accounts?core▾

Accounts are the strongest isolation boundary: separate blast radius, billing, quotas and permissions for environments (dev/staging/prod), teams and workloads. A compromised dev account can't touch production.

Follow-ups interviewers ask
  • What's a landing zone? A pre-configured multi-account setup with security baselines (Control Tower).
Q2How do you organize accounts with AWS Organizations?core▾

OUs such as Security (log archive, audit), Infrastructure (shared networking), Workloads (prod/non-prod per team), Sandbox, with SCPs per OU and consolidated billing.

Follow-ups interviewers ask
  • Where do CloudTrail logs go? A central, locked-down log archive account.
Q3How do people access many accounts?senior▾

IAM Identity Center (SSO) with permission sets mapped to groups from the corporate IdP, giving temporary role credentials per account; no IAM users per account.

Follow-ups interviewers ask
  • CLI access? aws sso login with profiles.
Q4How do you share networking across accounts?core▾

A shared networking account with Transit Gateway or VPC sharing via Resource Access Manager, centralized egress and inspection, and Route 53 Resolver rules shared across accounts.

Follow-ups interviewers ask
  • Benefit of VPC sharing? Teams deploy into central subnets without managing networking.
Q5How do you enforce guardrails across accounts?core▾

SCPs (deny disabling security services, restrict regions), AWS Config conformance packs, Security Hub, GuardDuty delegated admin, tag policies and Control Tower controls.

Follow-ups interviewers ask
  • Preventive vs detective controls? SCPs prevent; Config/Security Hub detect.

🛠️ Practice exercises

Each exercise is a file in this topic folder. Code exercises are self-checking: run them and make the checks pass.

✅ Check yourself

Answer the questions — feedback is instant.

1. Do SCPs grant permissions?
Something must still allow the action.
2. Which account must not run workloads?
SCPs don't apply to it.
3. How do humans access many accounts safely?
Single sign-on, no long-lived users.
4. Why plan non-overlapping CIDRs across accounts early?
Use IPAM.