Copyright (c) 2026 MindMesh Academy. All rights reserved. This content is proprietary and may not be reproduced or distributed without permission.

5.1.3. Multi-Account Security: Organizations and SCPs

šŸ’” First Principle: In a multi-account organization, account-level guardrails are more reliable than per-account IAM policies. An SCP (Service Control Policy) applied at the organizational level is in effect for every account in the OU — even if someone creates a new IAM user with AdministratorAccess, the SCP prevents actions it doesn't allow. This makes SCPs the highest-leverage security control in a multi-account environment.

AWS Organizations Structure:
SCPs — What They Do and Don't Do:
SCP FactDetail
Applied toOUs and accounts (not the management account)
EffectRestrict maximum permissions — even AdministratorAccess is bounded by SCPs
Do NOT grantPermissions — only restrict
AffectAll principals in the account (IAM users, roles, root user)
Do NOT affectManagement account (SCPs have no effect there)
Default SCPFullAWSAccess — allows everything; restricts nothing
Common SCP Patterns:
GoalSCP Approach
Prevent disabling CloudTrailDeny cloudtrail:StopLogging, cloudtrail:DeleteTrail
Restrict to approved regionsDeny all actions with Condition: aws:RequestedRegion NotIn [approved list]
Prevent leaving the organizationDeny organizations:LeaveOrganization
Require encryptionDeny s3:PutObject without s3:x-amz-server-side-encryption condition
Prevent root user actionsDeny all with Condition: aws:PrincipalIsAWSService = false + specific checks

AWS Control Tower builds on Organizations to provide a landing zone — a pre-configured, multi-account AWS environment following best practices. Control Tower:

  • Creates the account structure (Management, Log Archive, Audit accounts)
  • Deploys SCPs (guardrails) automatically
  • Enrolls new accounts via Account Factory
  • Provides a compliance dashboard showing guardrail status
Guardrail Types:
TypeBehavior
PreventiveSCP-based; prevents non-compliant actions
DetectiveConfig rule-based; detects and reports non-compliance
MandatoryAlways enabled; cannot be disabled
ElectiveOptional; enabled per OU

āš ļø Exam Trap: SCPs only affect member accounts — the management account is immune to SCPs. This is why AWS recommends keeping minimal resources in the management account. If an SCP denies ec2:RunInstances for an OU, member accounts can't launch EC2 instances — but the management account can. Also, SCPs must be enabled in Organizations (they're not active by default — you must enable "All features" in Organizations, which replaces the default "Consolidated billing only" mode).

Reflection Question: A company wants to ensure that no AWS resources can be created outside of us-east-1 and eu-west-1 across all accounts in their organization. What type of control do you implement, where do you attach it, and what condition key restricts the allowed regions?

Alvin Varughese
Written byAlvin Varughese
Founder•15 professional certifications