Skip to main content
Career Paths
Concepts
Cloud Resource Hierarchy
The Simplified Tech

Role-based learning paths to help you master cloud engineering with clarity and confidence.

Product

  • Career Paths
  • Interview Prep
  • Scenarios
  • AI Features
  • Cloud Comparison
  • Pricing

Community

  • Join Discord

Account

  • Dashboard
  • Credits
  • Updates
  • Sign in
  • Sign up
  • Contact Support

Stay updated

Get the latest learning tips and updates. No spam, ever.

Terms of ServicePrivacy Policy

© 2026 TheSimplifiedTech. All rights reserved.

BackBack
Interactive Explainer

Cloud Resource Hierarchy

How AWS Organizations, accounts, Organizational Units, and Service Control Policies create security and billing boundaries -- and why a flat single-account architecture is the most common source of production blast-radius incidents.

Relevant for:Mid-levelSeniorPrincipal
Why this matters at your level
Mid-level

Understands why multi-account exists and can explain the blast radius isolation benefit. Can create an account in an existing Organisation and configure baseline security (CloudTrail, Config, GuardDuty). Knows what SCPs are and that they are a ceiling, not a grant.

Senior

Designs the OU hierarchy and SCP set for a new project or team. Builds the account vending automation. Owns the landing zone design. Explains the tradeoffs between single-account (simple) and multi-account (safe) to product engineering teams.

Principal

Defines the organisation-wide account strategy -- how accounts map to teams, products, and environments. Sets the SCP policies that apply to all accounts. Owns the break-glass procedures and the management account hardening policy.

Cloud Resource Hierarchy

How AWS Organizations, accounts, Organizational Units, and Service Control Policies create security and billing boundaries -- and why a flat single-account architecture is the most common source of production blast-radius incidents.

~5 min read
Be the first to complete!
LIVEAccidental Destroy -- Shared-Account Architecture -- Q3 2022
Breaking News
Friday 16:55

Developer runs `terraform destroy` to clean up the dev environment for the weekend.

WARNING
16:56

Terraform plan shows 47 resources to delete. Developer reviews the plan.

WARNING
16:56

Developer types `yes`. Terraform begins destroying 47 production resources including 3 RDS instances, 2 ECS clusters, and 12 S3 buckets.

CRITICAL
16:58

Monitoring fires simultaneously for all production services. PagerDuty cascade begins.

CRITICAL
17:02

On-call engineer declares P0 incident. Root cause: AWS CLI profile pointed at the shared production account, not the dev workspace.

—production resources destroyed
—to restore from backup
—of data lost (RPO gap)
—developer, 1 profile misconfiguration

The question this raises

If a developer ran `terraform destroy` right now against what they thought was the dev environment, is there anything preventing them from doing it in production?

Test your assumption first

You attach a Service Control Policy to an Organizational Unit that contains Allow: s3:GetObject, s3:PutObject. A developer in an account inside that OU tries to delete an S3 object. The developer's IAM role has s3:* (full S3 access). What happens?

Lesson outline

Why this matters

Why Multi-Account is Not Optional

The instinct to use a single AWS account for all environments (dev, staging, prod) feels efficient: one place to look, one IAM configuration, one billing view. The cost shows up in incidents. In a single account, every developer with AWS console access can reach production. A misconfigured IAM policy that is too permissive in dev is also too permissive in prod. A terraform destroy in the wrong workspace takes down production. Account-level rate limits (Lambda concurrency, EC2 vCPU quotas) are shared between dev and prod.

What AWS account boundaries actually provide

  • Blast radius isolation — An engineer in the dev account cannot affect the prod account regardless of IAM policy mistakes. Even with AdministratorAccess in dev, they cannot touch prod.
  • Billing clarity — Separate accounts produce separate cost reports. You know exactly what prod costs vs dev costs vs the data science team's GPU experiments.
  • Service quota isolation — Lambda concurrency, EC2 vCPU limits, and API Gateway quotas are per-account. A load test in dev cannot exhaust prod quotas.
  • Compliance scope reduction — PCI, HIPAA, and SOC 2 scopes shrink dramatically when production accounts are isolated from all development activity.

The minimum viable multi-account structure is 3 accounts

Management account (billing and Organizations only -- no workloads), Production account (all live customer traffic), Non-production account (dev + staging). Even this basic split eliminates the most common blast-radius incidents. Add a Log Archive account to centralise CloudTrail, Config, and GuardDuty findings outside of reach of any workload account.

Pattern

AWS Organizations -- The Control Plane for Multi-Account

AWS Organizations provides two things: consolidated billing across all member accounts, and Service Control Policies (SCPs) that set permission guardrails.

ConceptWhat it isKey property
Management accountThe root account that creates the Organisation; contains billing; should have no workloadsMost privileged account in the Organisation -- credentials must be tightly protected
Member accountAny account joined to the Organisation; subject to SCPs from above; has full AWS capability within the bounds SCPs defineIsolated blast radius from all other accounts
Organisational Unit (OU)Logical grouping of accounts; SCPs attached to an OU apply to all accounts in itInheritance model -- child OUs inherit parent SCP restrictions
Service Control Policy (SCP)IAM policy applied at the OU or account level; creates a permission boundary; cannot grant permissions -- can only restrictEvaluated before IAM policies -- acts as a ceiling
Root OUThe top of the hierarchy; SCPs here apply to every account in the OrganisationAttach only broadly applicable guardrails here

SCPs do not grant permissions -- they only restrict them

The most common SCP misunderstanding: "I attached a policy that allows S3 access, so why can't my role access S3?" SCPs are a boundary -- a ceiling. They can prevent AdministratorAccess from touching us-gov regions, even if the IAM policy says Allow *. They cannot give a role access to something it doesn't already have through IAM. Think of SCPs as a firewall over IAM, not a grant mechanism.

Best Practice

Account Vending -- Creating Accounts at Scale

Creating AWS accounts manually through the console is a one-time operation. Creating them consistently across a growing engineering organisation requires automation -- account vending.

The account vending pattern

→

01

Request: engineer or team requests a new account via a form or API (account name, environment type, owning team, cost centre).

→

02

Automation creates the account: AWS Organizations CreateAccount API, or AWS Control Tower account factory. Account is placed in the correct OU automatically.

→

03

Baseline configuration applied: CloudTrail, Config, GuardDuty, and SecurityHub enabled. Logging forwarded to the central Log Archive account. Default VPC deleted. SCPs inherited from OU.

→

04

Access granted: the requesting team receives IAM Identity Center (SSO) access to their account only.

05

Drift detection: AWS Config rules continuously audit account configuration and alert on deviations from the baseline.

1

Request: engineer or team requests a new account via a form or API (account name, environment type, owning team, cost centre).

2

Automation creates the account: AWS Organizations CreateAccount API, or AWS Control Tower account factory. Account is placed in the correct OU automatically.

3

Baseline configuration applied: CloudTrail, Config, GuardDuty, and SecurityHub enabled. Logging forwarded to the central Log Archive account. Default VPC deleted. SCPs inherited from OU.

4

Access granted: the requesting team receives IAM Identity Center (SSO) access to their account only.

5

Drift detection: AWS Config rules continuously audit account configuration and alert on deviations from the baseline.

AWS Control Tower automates the landing zone

Control Tower is AWS's managed service for multi-account setup. It creates the account structure, enables GuardDuty, Config, and CloudTrail, and provides an account vending machine (Account Factory). For organisations starting from scratch, Control Tower is the fastest path to a production-ready multi-account setup. For organisations with existing accounts, the migration path is more complex -- use Control Tower Customizations for Control Tower (CfCT) for incremental adoption.

Rule

Service Control Policies -- Guardrails at Scale

SCPs are the most powerful preventive control in AWS. Applied correctly, they make certain classes of misconfiguration structurally impossible -- not just detectable after the fact.

High-value SCPs for every organisation

  • Deny leaving the Organisation — Prevents a compromised or rogue account from being removed from SCPs' reach
  • Deny disabling CloudTrail or Config — Prevents evidence tampering after an incident
  • Restrict to approved regions — Prevents workloads from spinning up in regions that are not in your compliance scope
  • Deny creating IAM users with console access — Enforces SSO/federated access; prevents long-lived passwords
  • Deny actions that bypass GuardDuty — Prevents disabling threat detection

Attaching a Deny All SCP to the root OU breaks everything

A Deny All SCP at the root OU applies to every account in your Organisation -- including the management account. This locks you out of all accounts. Always test SCPs on a non-production OU with a canary account before attaching to production OUs. Always keep a break-glass IAM user in the management account that can remove SCPs as a recovery mechanism.

Exam Answer vs. Production Reality

1 / 4

AWS accounts as boundaries

📖 What the exam expects

AWS accounts provide billing separation and can be used to isolate workloads. Multiple accounts are managed via AWS Organizations.

Toggle between what certifications teach and what production actually requires

How this might come up in interviews

Senior and principal cloud engineer interviews, cloud architecture design reviews, and compliance/security audit preparations. Often framed as "how would you design the account structure for a new product?" or incident post-mortems asking why blast radius was so large.

Common questions:

  • Why should the management account have no workloads deployed in it?
  • A developer in one of your AWS accounts has AdministratorAccess. You attach an SCP that only allows s3:GetObject. Can the developer still delete S3 objects?
  • What is the minimum viable multi-account structure you would recommend for a 10-person startup with a production service?
  • How does account vending work and why is it important at scale?
  • What happens if you accidentally attach a Deny All SCP to the root OU?

Try this question: How many AWS accounts does your organisation currently have? Do you have a landing zone with automated account vending? What SCPs are applied at the root OU level?

Strong answer: Describes at least a 3-account structure unprompted. Mentions Control Tower or CfCT for landing zone automation. Knows the difference between preventive controls (SCPs) and detective controls (Config, GuardDuty). Explains consolidated billing and RI sharing across accounts.

Red flags: Believes a single AWS account with strict IAM policies is sufficient isolation. Thinks SCPs can grant permissions. Does not know what a landing zone is. Cannot explain why the management account should have no workloads.

Ready to see how this works in the cloud?

Switch to Career Paths for structured paths (e.g. Developer, DevOps) and provider-specific lessons.

View role-based paths

Discussion

Questions? Discuss in the community or start a thread below.

Join Discord

In-app Q&A

Sign in to start or join a thread.

Sign in to track your progress and mark lessons complete.

Discussion

Questions? Discuss in the community or start a thread below.

Join Discord

In-app Q&A

Sign in to start or join a thread.