SaveMyCert
Log in
5 of 5 free questions left today·for unlimited practice
Security Foundations and Governance

AWS Organizations, SCPs, and Control Tower: Multi-Account Security Strategy

16 min readSCS-C03 · Security Foundations and GovernanceUpdated

A multi-account strategy is itself a security control: the AWS account is the strongest isolation boundary the platform offers, and AWS Organizations is the service that turns a pile of accounts into a governed estate. In this lesson you design that estate the way the SCS-C03 exam expects — a reference OU layout with dedicated log-archive and audit accounts, a management account kept deliberately empty, and security services run through delegated administrators. You then build the guardrail layer: service control policies (SCPs) that deny dangerous actions across every member account, resource control policies (RCPs) that build a resource perimeter with <code>aws:ResourceOrgID</code>, and declarative and AI service opt-out policies for service-level defaults. Finally you layer on AWS Control Tower for an opinionated landing zone, IAM Identity Center for workforce access, and centralized root access management with break-glass procedures — everything Task 6.1 lists, at the governance depth a Security Specialty candidate needs.

What you’ll learn
  • Design a multi-account OU structure that uses account boundaries as the primary blast-radius control, including dedicated log-archive and audit accounts.
  • Apply management-account discipline: minimal workloads, delegated administrators for security services, and an organization-wide CloudTrail trail.
  • Write SCP guardrails for the classic exam patterns — Region deny, root-user deny, protecting CloudTrail, GuardDuty, and AWS Config from being disabled.
  • Choose correctly between SCPs, RCPs, declarative policies, and detective controls when a scenario asks for a specific guardrail.
  • Explain what AWS Control Tower adds on top of Organizations: the landing zone, preventive, detective, and proactive controls, and Account Factory.
  • Centralize workforce and root identity with IAM Identity Center permission sets, centralized root access management, and break-glass procedures.

The account is the strongest isolation boundary

Every other boundary in AWS — IAM policies, VPCs, resource policies — operates inside an account and can be misconfigured from inside it. The account boundary is different: by default, no principal in one account can touch anything in another account unless both sides explicitly agree (a resource policy on one side, an identity policy or assumed role on the other). That default-deny property is why the exam treats "put it in a separate account" as a security answer, not just an organizational one.

Separate accounts contain blast radius. If an application account is compromised, the attacker's credentials are worthless against the log-archive account. Separate accounts also give you clean service quotas, clean billing lines, and — most importantly for this domain — a clean place to attach organization policies: SCPs, RCPs, and management policies attach to accounts and OUs, so your account structure is your policy structure.

This thinking is formalized as a landing zone: a pre-configured, secure, multi-account environment with identity, logging, and guardrails established before the first workload lands. You can hand-build one with AWS Organizations, or let AWS Control Tower build and operate one for you (covered below). Either way, the exam expects you to reason about where a workload lives before what IAM policy it gets. When a scenario says "limit the impact of a compromised environment" or "isolate the security team's tooling from application teams," the specialty-level answer starts with account separation, then adds the finer-grained controls inside it. Account-level isolation is the control that keeps working even when everything inside the account is misconfigured.

The reference OU layout — and the two canonical security accounts

AWS's published guidance for organizing an environment converges on a recognizable OU layout, and exam scenarios are written against it:

  • Security OU — the accounts your security team owns. The two canonical members: the log-archive account, holding the S3 buckets that receive organization-wide CloudTrail logs, AWS Config history, and VPC Flow Logs — write-once storage that workload teams and even most administrators cannot alter; and the audit account (also called the security-tooling account), where delegated administration for GuardDuty, Security Hub, Detective, Macie, and Inspector lives, and where security analysts hold their cross-account read roles.
  • Workloads OU — production and non-production application accounts, often split into Prod and SDLC child OUs so production-only guardrails can attach at the OU level.
  • Sandbox OU — experimentation accounts with no path to production data, typically fenced by the most restrictive SCPs (Region limits, service allow-lists, spend controls).
  • Suspended OU — a quarantine parking spot. Moving a compromised or decommissioned account here instantly applies a deny-almost-everything SCP without touching anything inside the account.

Two design rules follow. First, group accounts by function and policy needs, not by org chart — OUs exist so policies inherit sensibly. Second, keep the Security OU's accounts free of workloads: the log archive stores evidence, the audit account runs tooling, and neither runs applications. When a question asks where organization CloudTrail logs should be delivered, the answer is a dedicated log-archive account in the Security OU — never the management account.

Management-account discipline and delegated administration

The management account is the most dangerous account in your organization, for one documented reason: SCPs do not apply to the management account. No guardrail you write can constrain it. It also controls billing, can close member accounts, and owns the organization itself. The discipline the exam expects: run no workloads in it, allow almost no human access to it, and move every function that can be moved out of it.

The mechanism for moving functions out is delegated administration. Security services integrate with Organizations through trusted access (enabling the service to operate across the organization), and most then let you register a member account as the delegated administrator — the account from which the service is centrally managed. GuardDuty, Security Hub, AWS Config, Macie, Inspector, Detective, IAM Access Analyzer, and Firewall Manager all support this, and the standard pattern is to delegate them to the audit account. The result: security operations never require logging in to the management account, and findings from every member account aggregate in one place the security team owns.

CloudTrail deserves its own mention. An organization trail logs events from the management account and every member account into one S3 bucket — in the log-archive account — and member accounts can see but cannot modify or delete the trail. That property is the exam trigger: when a scenario needs API logging that individual account administrators cannot switch off, the answer is an organization trail, usually reinforced by an SCP denying cloudtrail:StopLogging and cloudtrail:DeleteTrail.

SCP guardrails: patterns, inheritance, and strategy

Service control policies define the maximum available permissions for member accounts. Three properties are tested constantly: SCPs never grant permissions (a principal still needs an IAM policy); they apply to every principal in affected accounts including the root user; and they do not apply to the management account. Effective permissions are the intersection of the SCPs at every level above the account — organization root, each OU in the chain, then the account — with the identity policy evaluated inside that boundary.

The guardrail patterns worth memorizing:

  • Region deny — deny all actions when aws:RequestedRegion is outside your approved list, with documented exemptions for global services.
  • Root-user deny — deny actions when aws:PrincipalArn matches the root user, forcing all work through IAM roles.
  • Protect security tooling — deny cloudtrail:StopLogging, cloudtrail:DeleteTrail, guardduty:DeleteDetector, guardduty:DisassociateFromMasterAccount, config:StopConfigurationRecorder, and config:DeleteConfigurationRecorder so no member account can blind the organization.
  • Deny leaving — deny organizations:LeaveOrganization so a compromised account cannot escape its guardrails.
  • Deny unencrypted uploads — deny s3:PutObject when the request lacks the expected s3:x-amz-server-side-encryption value.

Strategy: every organization starts with FullAWSAccess attached everywhere, and most stay in a deny-list posture — keep FullAWSAccess, layer targeted Deny statements on top. An allow-list posture (detach FullAWSAccess, explicitly allow only approved services) is tighter but brittle; it fits sandbox OUs and highly regulated enclaves. Full policy-evaluation mechanics belong to Domain 4 — here, know the intersection rule and the exemptions cold.

RCPs and the resource perimeter — plus the other organization policies

SCPs constrain your principals; resource control policies (RCPs) constrain access to your resources. An RCP attaches at the root, OU, or account and sets the maximum available permissions on resources in member accounts — regardless of who is calling, including external principals from accounts you don't own. That is the gap SCPs cannot close: an SCP cannot stop an outside attacker from using a mis-shared bucket, because the attacker's principal isn't in your organization. RCPs apply to a documented set of services — Amazon S3, AWS STS, AWS KMS, Amazon SQS, and AWS Secrets Manager — and, like SCPs, never grant anything and do not apply to the management account.

The flagship pattern is the resource perimeter: an RCP that denies access to organization resources unless aws:PrincipalOrgID equals your organization ID, so even a resource policy that mistakenly grants Principal: "*" cannot expose data outside the org. The companion key aws:ResourceOrgID works the other direction — used in SCPs or identity policies to stop your principals writing data to resources outside your organization.

Two management policy types round out Task 6.1. Declarative policies enforce a desired service configuration at the account level — for example, blocking public sharing of AMIs or EBS snapshots — and the configuration cannot be changed from inside member accounts. AI services opt-out policies let you opt every account out of having its content used to improve AWS AI services — a standing compliance question in regulated industries. Tag policies, the fourth type, are covered with deployment governance in Task 6.2.

Choosing the right guardrail: SCP vs RCP vs declarative vs detective

Exam questions rarely ask you to recite a policy type — they describe an outcome and make you pick the control. Use this chooser:

ControlWhat it constrainsEnforcementReachClassic trigger
SCPPrincipals in member accounts (max permissions)Preventive — request deniedAll principals incl. root user; not the management account"Prevent any member account from disabling CloudTrail"
RCPAccess to resources in member accounts, any callerPreventive — request deniedSupported services (S3, STS, KMS, SQS, Secrets Manager)"Ensure no principal outside the organization can access any bucket"
Declarative policyService-level configuration in accountsPreventive — setting lockedSupported service attributes (e.g., block public AMI sharing)"Enforce the setting org-wide; admins must not change it"
AWS Config ruleDeployed resource stateDetective (+ optional remediation)Any recorded resource type"Detect and report noncompliant resources"

The discriminator is the verb. "Prevent," "block," "ensure it is impossible" → a preventive control; then ask who is being constrained — your principals (SCP), any caller against your resources (RCP), or a service setting (declarative policy). "Detect," "audit," "report," "remediate" → AWS Config, which is Task 6.3's territory. A wrong-but-tempting distractor is offering an IAM permissions boundary for an org-wide requirement — boundaries are per-principal, per-account artifacts, not organization guardrails.

AWS Control Tower: the managed landing zone

Everything so far you can assemble by hand. AWS Control Tower assembles it for you: it orchestrates AWS Organizations, IAM Identity Center, CloudTrail, and AWS Config into a managed landing zone — creating the Security OU with the log-archive and audit accounts, enabling organization-wide logging, and applying a baseline of controls. Control Tower is not a separate policy engine; it is an opinionated operator of the services you have just learned. It can be enabled in a new environment or an existing organization, and existing accounts can be enrolled into its governance.

Its controls (historically "guardrails") come in three types, and mapping them to their implementation is a reliable exam question:

  • Preventive — implemented as SCPs; stop noncompliant actions from happening (e.g., disallow changes to the CloudTrail configuration Control Tower manages).
  • Detective — implemented as AWS Config rules; find noncompliant resources after they exist and surface them on the Control Tower dashboard.
  • Proactive — implemented as CloudFormation hooks; evaluate resources during provisioning, before they are created, blocking noncompliant infrastructure-as-code deployments.

Controls are mandatory, strongly recommended, or elective, and you enable optional and custom controls per OU. Account Factory is the account-vending machine: new accounts are created pre-enrolled, landing in the right OU with baselines and controls already applied — the governance answer to account sprawl. Choose plain Organizations when a scenario emphasizes bespoke policy control with minimal managed tooling; choose Control Tower when it emphasizes a standardized, quickly established, continuously governed landing zone.

Centralized identity, root control, and a regulated-company walkthrough

Two identity planes remain. For the workforce, IAM Identity Center is the standard: users and groups (sourced from your IdP) are assigned permission sets, which Identity Center materializes as IAM roles in each target account. No per-account IAM users, no long-term keys, one place to revoke access. For the root user, centralized root access management lets you manage member-account root credentials from the organization level — removing root passwords from member accounts entirely so there is nothing to phish, while still permitting short-lived, task-scoped privileged root sessions for the rare actions that require root (such as deleting a misconfigured S3 bucket policy). Where root credentials must exist, they get MFA and a break-glass procedure: sealed credentials, an alarmed usage path (CloudTrail root-login alerts), and a documented post-use rotation.

Walkthrough. A regulated financial-services company gives you requirements: workloads isolated per environment, logs tamper-proof for seven years, no data-plane activity outside two approved Regions, security tooling that application admins cannot disable, and standardized new accounts. You map each requirement to this lesson: Control Tower landing zone with Security, Workloads (Prod/SDLC), Sandbox, and Suspended OUs; organization CloudTrail delivering to the log-archive account's locked-down bucket; a Region-deny SCP on the organization root (management account documented as exempt, so it stays workload-free and access-restricted); the protect-security-tooling SCP set; GuardDuty, Security Hub, Config, Macie, and Inspector delegated to the audit account; an RCP perimeter on S3; Identity Center for all human access; root centrally removed with a break-glass exception. Every element is the canonical Task 6.1 answer to its requirement.

Tip. Task 6.1 questions describe an outcome and make you pick the mechanism, so read the verbs. "Prevent any member account from disabling CloudTrail" or "deny actions outside approved Regions" → an SCP guardrail at the root or OU; "ensure no principal outside the organization can access the data, even if a bucket policy is misconfigured" → an RCP perimeter with aws:PrincipalOrgID. "Manage GuardDuty and Security Hub without using the management account" → delegated administrator in the audit account, and "standardized, pre-governed new accounts" → Control Tower Account Factory. Remember the two exemptions examiners love: SCPs bind the root user of member accounts but never the management account.

Key takeaways
  • The AWS account is the strongest isolation boundary — cross-account access is denied by default, so account separation is the blast-radius control that survives misconfiguration inside an account.
  • The reference layout: a Security OU holding the log-archive account (immutable org-wide logs) and the audit account (delegated admin for security services), plus Workloads, Sandbox, and Suspended OUs.
  • SCPs do not apply to the management account and never grant permissions — so keep the management account empty of workloads and delegate every security service to a member account.
  • Memorize the SCP guardrail patterns: Region deny, root-user deny, deny leaving the organization, deny unencrypted uploads, and denying the APIs that disable CloudTrail, GuardDuty, and AWS Config.
  • RCPs are the resource-side guardrail: a perimeter denying access unless aws:PrincipalOrgID matches your org stops external access even when a resource policy is misconfigured; they cover S3, STS, KMS, SQS, and Secrets Manager.
  • Control Tower controls map to implementations: preventive = SCPs, detective = Config rules, proactive = CloudFormation hooks evaluated before provisioning; Account Factory vends pre-governed accounts.
  • Workforce access goes through IAM Identity Center permission sets — no per-account IAM users; member-account root credentials are centrally removed, with MFA-protected break-glass procedures for what remains.

Frequently asked questions

What is the difference between AWS Organizations and AWS Control Tower?

AWS Organizations is the underlying multi-account service: it provides the organization itself, OUs, consolidated billing, and the policy types (SCPs, RCPs, declarative, tag, and AI opt-out policies). AWS Control Tower sits on top and operates Organizations for you — it builds a landing zone with a Security OU, log-archive and audit accounts, organization-wide CloudTrail and Config, a curated library of preventive, detective, and proactive controls, and Account Factory for vending standardized accounts. Organizations gives you the raw controls; Control Tower gives you an opinionated, continuously governed implementation of them.

Why don't SCPs apply to the AWS management account?

By design, the management account is exempt from every SCP, including SCPs attached to the organization root. AWS built it that way so an organization can never lock itself out of its own management plane. The security consequence is that no guardrail you write constrains the management account — which is why best practice is to run no workloads in it, restrict human access to it severely, and move security operations into member accounts through delegated administration.

What is the difference between an SCP and an RCP?

An SCP (service control policy) sets the maximum permissions for principals in your member accounts — it constrains what your identities can do. An RCP (resource control policy) sets the maximum available permissions on resources in your member accounts — it constrains what any caller, including principals outside your organization, can do to those resources. SCPs cannot stop an external attacker from using a mis-shared S3 bucket because that attacker is not your principal; an RCP requiring aws:PrincipalOrgID to match your organization can. Neither policy type grants permissions, and neither applies to the management account.

How do you prevent a member account from disabling CloudTrail or GuardDuty?

Attach an SCP that denies the disabling APIs — cloudtrail:StopLogging, cloudtrail:DeleteTrail, guardduty:DeleteDetector, guardduty:DisassociateFromMasterAccount, config:StopConfigurationRecorder, and config:DeleteConfigurationRecorder — at the organization root or the relevant OUs. Pair it with an organization CloudTrail trail, which member accounts cannot modify or delete in the first place, and delegated administration so the services are managed from the audit account rather than inside each member account.

What is a delegated administrator account in AWS Organizations?

A delegated administrator is a member account you register to centrally manage an AWS service on behalf of the whole organization, after enabling trusted access for that service. GuardDuty, Security Hub, AWS Config, Macie, Inspector, Detective, IAM Access Analyzer, and Firewall Manager all support it. The standard pattern is to delegate security services to the audit account in the Security OU, so security operations and organization-wide findings live in an account the security team owns and no one needs to log in to the management account for day-to-day work.

What is a break-glass procedure in a multi-account AWS environment?

Break-glass is the emergency access path used when normal access — typically IAM Identity Center — is unavailable or insufficient: sealed, MFA-protected credentials (root or a highly privileged role) whose use is rare, alarmed, and audited. In an organization using centralized root access management, member-account root passwords are removed entirely, and short-lived privileged root sessions are granted centrally for the few tasks that require root. Any break-glass use should trigger CloudTrail-based alerts and end with credential rotation and a review.

Test yourself on this topic
Practice questions with full explanations.
Practice now

Sign up free to mark lessons complete, bookmark topics and track your exam readiness.