SCS-C03 · Domain 6 · Security Foundations and Governance (14%) · Day 1 of 3
AWS Organizations and Control Tower
You just finished Domain 2 with Incident Response Day 3. Domain 6 zooms out to the whole company. Today: how to split work into accounts and OUs, how Control Tower builds a governed landing zone and its controls, which organization policy fits which job (SCP, RCP, declarative, AI opt-out), how delegated administrators run security services, and how to remove root credentials from member accounts.
Skill 6.1.1 OrganizationsSkill 6.1.2 Control TowerSkill 6.1.3 organization policiesSkill 6.1.4 delegated adminSkill 6.1.5 root user~90 min read + 30 min lab
01
AWS Organizations and multi-account strategy
Domain 6 begins one level above everything you have studied so far. Instead of one account, you now design many accounts that work as one company. An AWS account is the strongest isolation boundary in AWS: resources, IAM, quotas and bills are separate by default. AWS Organizations groups those accounts so you can bill them together and apply rules to all of them from one place.
Skill 6.1.1 asks you to deploy and configure an organization. The exam tests three ideas: enable all features, design OUs by function and control needs, and keep the management account almost empty.
Concept profile
AWS Organizations
often confused with Consolidated billing only
?What is it?
A free service that groups AWS accounts under one root, organized into organizational units (OUs), with one management account that pays the bill and controls the organization. With all features enabled you can use organization policies (SCPs, RCPs, declarative, tag, backup, AI opt-out) and integrate other AWS services.
⚙How does it work?
The management account creates or invites member accounts. An account belongs to only one organization at a time.
OUs can be nested up to five levels under the root. Policies attached to the root or an OU are inherited by every account below.
Trusted access lets a service (for example GuardDuty or CloudTrail) work across all accounts; many services also support a delegated administrator.
Quotas: default 10 accounts (adjustable), 2,000 OUs, one root.
The management account is not restricted by SCPs or RCPs, so keep workloads and people out of it.
{ }Structure
A common OU layout from the AWS multi-account guidance.
⇄All features vs Consolidated billing only
All features
Consolidated billing only
One bill, volume discounts
Yes
Yes
SCPs, RCPs, declarative policies
Yes
No
Trusted access / delegated admin
Yes
No
Organization CloudTrail trail
Yes
No
Exam hint
Any security control across accounts
Billing only; switch to all features
!Common mistakes the exam tests
Running workloads or daily admin in the management account: SCPs can’t protect it, so a mistake there is unrestricted.
Designing OUs to copy the company org chart: AWS recommends grouping by function and security controls (Security, Infrastructure, Workloads Prod/Non-prod, Sandbox, Suspended).
Forgetting that an organization in consolidated billing mode can’t use SCPs: enable all features first (every member account must approve).
Thinking a new account inherits nothing: it gets every policy on its OU and parent OUs as soon as it joins.
Deleting an account right away when it is compromised: move it to a Suspended OU with a deny-all SCP first, investigate, then close it.
✓Benefits and use cases
Separate prod, dev and security tooling with hard account boundaries.
Apply one guardrail to hundreds of accounts with a single policy.
Turn on security services in every account automatically.
Recommended OUs
The AWS guidance “Organizing your AWS environment using multiple accounts” suggests foundational OUs: Security (Log Archive and security tooling accounts), Infrastructure (networking and shared services), then Workloads split into Prod and Non-prod (SDLC) OUs, plus Sandbox, Suspended and a Policy Staging OU to test new policies before you attach them to production. Accounts with the same controls should sit in the same OU, so one policy attachment covers them all.
Think of it like · a school district
One district office, many schools.
AWS concept
Familiar thing
Organization
≈
The school district
Management account
≈
The district office: it pays the bills and writes the rules, but no classes happen there
OU
≈
A group of schools with the same rules, such as all primary schools
Member account
≈
One school building with its own doors and keys
Policy inheritance
≈
A district rule applies to every school in that group automatically
Suspended OU
≈
A closed school with the gates locked while inspectors look around
Real AWS example · create an OU and move an account
Two calls from the management account (or a delegated administrator for Organizations).
As soon as the account moves, it inherits every policy attached to Workloads-Prod.
Exam-style scenario
A company has 60 AWS accounts in an organization that was created with consolidated billing only. The security team wants to stop every member account from disabling CloudTrail. What must the company do first?
A. Attach an SCP to the root.
B. Enable all features in the organization, which every invited member account must approve, then attach an SCP.
C. Create an IAM policy in each account.
D. Move all accounts into one OU.
Show the worked answer
Answer: B
SCPs only exist when all features are enabled. Invited accounts must approve the change; accounts created by the organization approve automatically.
Why not the others
A: SCPs are not available in consolidated billing mode.
C: Admins in each account could just edit their own IAM policy.
D: OUs alone don’t restrict anything.
How the exam tests this
“Strongest isolation between workloads”→ Separate AWS accounts.
“Organize accounts with the same controls”→ OUs grouped by function.
“Use SCPs but organization is billing only”→ Enable all features.
“Where should workloads not run?”→ The management account.
“Compromised account, keep evidence”→ Move to a Suspended OU with deny-all SCP.
Building a good organization by hand takes weeks: shared logging, a security account, baseline roles, guardrails and a way to create new accounts. AWS Control Tower automates this on top of Organizations. Skill 6.1.2 asks you to use it both in a new environment and in an existing organization that already has accounts.
Concept profile
AWS Control Tower landing zone
often confused with AWS Organizations alone
?What is it?
A managed service that sets up and governs a multi-account landing zone: a well-architected starting point with shared accounts, central logging, identity, preventive and detective controls, and an Account Factory for new accounts. It uses Organizations, CloudFormation StackSets, AWS Config, CloudTrail and IAM Identity Center under the hood.
⚙How does it work?
Set up from the management account in a home Region, choosing the Regions to govern.
Creates (or uses) two shared accounts: Log Archive (central S3 buckets for CloudTrail and Config logs) and Audit (the security team’s account with cross-account audit roles and SNS compliance notifications).
Applies mandatory controls to registered OUs; preventive controls never apply to the management account.
Landing zone 4.0 (November 2025): service integrations (AWS Config, CloudTrail, security roles, AWS Backup) are optional, a Security OU is no longer required, and you can run a controls-only setup.
Drift: changing Control Tower’s own SCPs, roles or OUs outside Control Tower causes drift that you repair from the landing zone settings. Since August 2025, extra SCPs you attach yourself to managed OUs no longer count as drift (so watch them with CloudTrail instead), and from landing zone 4.0 drift notifications go to EventBridge in the management account instead of the SNS topic.
New names (landing zone 4.0 docs): the Log Archive account is now the CloudTrail administrator account and the Audit account is the Config aggregator account; together they are “service integration accounts”. Exam questions may still use Log Archive and Audit.
Existing Config resources: an account that already has a Config recorder or delivery channel can only be enrolled after an AWS Support allow-list request, updating its recorder and delivery channel, and then Register / Re-register OU (the Enroll account workflow fails).
{ }Structure
Shared accounts and the baseline Control Tower deploys.
⇄Control Tower vs AWS Organizations alone
Control Tower
Organizations alone
Account structure
Prebuilt landing zone
You design everything
Central logging
Log Archive set up for you
Build trails and buckets yourself
Guardrails
Catalog of managed controls
Write your own SCPs
New accounts
Account Factory / AFT with baseline
CreateAccount, then configure
Exam hint
“quickly”, “best practices”, “least effort”
“fine-grained custom design”
!Common mistakes the exam tests
Thinking you need a brand-new organization: Control Tower can be set up in an existing organization, then you register OUs or enroll accounts.
Enrolling an account that already has an AWS Config recorder or delivery channel: remove or adjust them first or enrollment fails.
Forgetting the AWSControlTowerExecution role in an invited account that wasn’t created by the organization.
Using an existing account as Log Archive or Audit later: in older landing zones you choose shared accounts only at setup.
Editing Control Tower’s own SCPs in Organizations: causes drift. Add your own policies instead.
✓Benefits and use cases
Stand up a governed multi-account base in hours.
Bring governance to an existing organization OU by OU.
Central, tamper-resistant logs in one account.
Existing environments: register and enroll
In an organization that already exists, set up the landing zone first. Then register an OU to bring it under governance; Control Tower enrolls the accounts in it. You can also enroll one account at a time. Before enrolling, check each account: no conflicting AWS Config recorder or delivery channel, the AWSControlTowerExecution role present (for invited accounts), and delete old account-level trails to avoid paying twice, because the organization trail now covers them. Enrollment deploys baseline StackSets, turns on AWS Config, adds detective control rules and moves the account into the OU. Enrolled accounts keep their existing VPCs.
Think of it like · a new housing estate
The builder hands over an estate that is ready to live in.
AWS concept
Familiar thing
Landing zone
≈
A finished estate with roads, street lights and a security gate
Log Archive account
≈
The estate’s locked archive room with every CCTV recording
Audit account
≈
The security office that can look into every street
Mandatory controls
≈
Building rules no resident may break, such as fire exits
Enroll an account
≈
Bringing an old house into the estate and fitting the standard alarms
Drift
≈
Someone changed the estate gate without telling the management company
Real AWS example · check an account before enrollment
Existing AWS Config resources block enrollment, so look for them first.
$ aws configservice describe-configuration-recorders
{ "ConfigurationRecorders": [ { "name": "default",
"roleARN": "arn:aws:iam::222233334444:role/aws-service-role/config.amazonaws.com/..." } ] }
$ aws configservice describe-delivery-channels
{ "DeliveryChannels": [ { "name": "default", "s3BucketName": "old-config-bucket" } ] }
# Either remove them, or follow the documented steps for
# enrolling accounts that have existing AWS Config resources.
Control Tower then deploys its own Config recorder that sends data to the Log Archive account.
Exam-style scenario
A company has an existing organization with 120 accounts in several OUs. It wants AWS best-practice governance, central logging and managed guardrails with the least effort, without recreating the accounts. What should it do?
A. Create a new organization and migrate every account into it.
B. Set up an AWS Control Tower landing zone in the existing organization, then register the existing OUs so their accounts are enrolled, after removing conflicting AWS Config resources.
C. Write SCPs and CloudTrail trails by hand in each account.
D. Use AWS Config conformance packs only.
Show the worked answer
Answer: B
Control Tower works in existing organizations; registering OUs enrolls their accounts in bulk.
Why not the others
A: Unnecessary and very disruptive.
C: Most effort and no central view.
D: Gives detective checks only, no landing zone or preventive controls.
How the exam tests this
“Multi-account best practices quickly”→ Control Tower landing zone.
A control (formerly “guardrail”) is a plain-language rule that Control Tower applies to an OU, such as “disallow public read access to S3 buckets”. The exam wants you to pick the right behavior: stop it, find it, or block it in the template. It also asks how to create new accounts that are governed from day one.
Concept profile
Control Tower controls
often confused with Writing raw SCPs and Config rules
?What is it?
Prebuilt rules from the Control Catalog, each with a behavior (preventive, detective, proactive) and a guidance level (mandatory, strongly recommended, elective). You enable them on an OU and every enrolled account in it is covered.
⚙How does it work?
Preventive: implemented as SCPs, RCPs or declarative policies; the action is denied. RCP controls cover S3, STS, KMS, SQS and Secrets Manager, for example CT.S3.PV.4 (S3 only reachable by principals in your organization or AWS services).
Detective: implemented as AWS Config rules; results show on the compliance dashboard. The catalog now includes hundreds of managed Config rules.
Proactive: implemented as CloudFormation hooks; a noncompliant resource in a template fails before it is created.
Some controls take parameters (for example exempt roles or allowed Regions); the Region deny control limits which Regions can be used.
Custom controls: add your own SCPs, Config rules or hooks, commonly with Customizations for Control Tower (CfCT).
{ }Structure
Three behaviors, three guidance levels.
⇄Managed controls vs Writing raw SCPs and Config rules
Managed controls
Raw SCPs / Config rules
Written by
AWS, tested
You
Applied
Per OU from one console or API
Attach policies and deploy rules yourself
Drift detection
Yes
Build it yourself
Flexibility
Catalog + parameters
Anything you can write
Exam hint
“least operational overhead”
“a rule that no control covers”
!Common mistakes the exam tests
Choosing a detective control when the requirement says “prevent” or “before it is created”.
Expecting proactive controls to stop console or CLI actions: they only check resources deployed through CloudFormation.
Expecting controls to restrict the management account.
Thinking mandatory controls can be turned off: they can’t.
Forgetting that detective controls need AWS Config recording in the account.
✓Benefits and use cases
Block Region use outside approved Regions.
Build a data perimeter with RCP controls.
Catch untagged or unencrypted resources in templates before deployment.
Account Factory, AFC and AFT
Account Factory creates new accounts that are enrolled and baselined automatically. It is a product in AWS Service Catalog, so you can use the console or let users request accounts. Account Factory Customization (AFC) adds blueprints (CloudFormation or Terraform) that run when an account is created. Account Factory for Terraform (AFT) is a GitOps pipeline: you add an account request file to a repository, git push, and AFT creates the account and applies global and account-specific customizations. AFT runs in its own AFT management account, separate from the Control Tower management account, and supports CodeCommit or other Git providers through CodeConnections.
Think of it like · an airport
Three ways to keep dangerous items off planes.
AWS concept
Familiar thing
Preventive control
≈
The scanner gate: you can’t walk through with a knife
Detective control
≈
CCTV that spots a problem after someone is already inside
Proactive control
≈
Checking your packing list before you even leave home
Mandatory control
≈
Rules every airport must follow by law
Account Factory
≈
A desk that issues staff passes with all the right access already loaded
AFT
≈
Staff passes ordered by filling in an online form that a robot processes
Real AWS example · enable a control on an OU
Controls are enabled with the Control Tower API on an OU ARN.
Find the control ARN in the Control Catalog (console or aws controlcatalog list-controls).
Exam-style scenario
A platform team deploys all infrastructure with CloudFormation. Security wants S3 buckets without server access logging to be rejected before they are created, across every account in the Workloads OU, with minimal custom code. What should they use?
A. A detective Control Tower control backed by AWS Config with auto-remediation.
B. The matching proactive Control Tower control enabled on the Workloads OU.
C. An SCP that denies s3:CreateBucket.
D. Amazon Macie.
Show the worked answer
Answer: B
Proactive controls use CloudFormation hooks to fail noncompliant resources before provisioning.
Why not the others
A: Detective controls find the bucket after it exists.
C: Would stop all bucket creation, and SCPs can’t check logging settings in a template.
IAM Day 2 covered how policies are evaluated. Today the question is design: which organization policy type fits the requirement, and where to attach it. Skill 6.1.3 names SCPs, RCPs, AI services opt-out policies and declarative policies. Tag and backup policies also come up.
Concept profile
Resource control policy (RCP)
often confused with Service control policy (SCP)
?What is it?
An authorization policy that sets the maximum permissions on resources in member accounts, no matter who is asking, including principals outside your organization. It is the main tool for a data perimeter, for example “our S3 buckets and KMS keys can only be used by our organization”.
⚙How does it work?
Requires all features. When enabled, RCPFullAWSAccess is attached everywhere and counts toward the limit of 5 RCPs per root, OU or account; each up to 5,120 characters.
Works with a growing list of services, including S3, STS, KMS, SQS, Secrets Manager, DynamoDB, ECR and CloudWatch Logs.
Like SCPs, an RCP never grants; it is intersected with the other policies.
Does not affect the management account, service-linked roles, or AWS managed KMS keys.
Roll out like SCPs: test on one account, then an OU, then the root, while watching CloudTrail for AccessDenied.
{ }Structure
Two families of organization policies.
⇄RCP vs Service control policy (SCP)
RCP
SCP
Limits
What can be done to resources
What IAM principals can do
Stops outside principals
Yes
No (they aren’t in your org)
Limit per target / size
5 · 5,120 characters
10 · 10,240 characters
Services
Supported list (S3, STS, KMS, SQS…)
All services
Typical use
Data perimeter on resources
Region deny, protect security tools
!Common mistakes the exam tests
Using an SCP to stop a different company’s account from reading your bucket: SCPs only affect your own principals. Use an RCP.
Expecting SCPs or RCPs to grant access: an Allow in them only sets the ceiling.
Using an SCP to force IMDSv2 defaults on all launches when the brief says “even for new APIs”: a declarative policy enforces the setting in the service control plane.
Thinking SCPs restrict service-linked roles: they don’t, but declarative policies do govern the service configuration they use.
Forgetting the AI opt-out policy when legal asks that content is not used to train models.
✓Benefits and use cases
Block access to your S3 and KMS from outside the organization (RCP).
Deny leaving the organization or disabling GuardDuty (SCP).
Force IMDSv2 and block public AMI and snapshot sharing (declarative).
Declarative, AI opt-out, tag and backup policies
Declarative policies set a baseline configuration for a service, enforced in its control plane, so it still holds when the service adds new APIs, when new accounts join, and for service-linked roles. EC2 attributes include VPC Block Public Access, VPC Encryption Controls, serial console access, image (AMI) block public access, Allowed Images, instance metadata defaults (IMDSv2) and EBS snapshot block public access. You can add a custom error message, and an account status report shows current settings. If you detach the policy, the setting returns to its previous state. AI services opt-out policies stop AWS AI services from storing and using your content to improve the service, including model training, in all accounts and Regions; opting out also deletes stored copies. Use the default key to opt out of all supported services. Tag policies standardize tag keys and values (Day 2 goes deeper) and backup policies deploy AWS Backup plans to accounts.
Think of it like · rules in a shopping mall
Different rules for different problems.
AWS concept
Familiar thing
SCP
≈
What mall staff are allowed to do, written by mall management
RCP
≈
Rules on the shops themselves: nobody from outside the mall may open the stockroom, staff or not
Declarative policy
≈
Every shop must be built with fire doors; the builder simply can’t make one without them
AI opt-out policy
≈
A notice that CCTV footage can’t be shared with the camera company to improve its products
Tag policy
≈
Every shop sign must use the official font and naming
Backup policy
≈
Every shop must copy its accounts to the mall’s safe each night
Real AWS example · declarative policy for IMDSv2 and snapshots
Attached to the Workloads OU. The fields come from the EC2 declarative policy syntax.
http_tokens_enforced: enabled makes launches that allow IMDSv1 fail. block_all_sharing also treats already-public snapshots as private.
Exam-style scenario
A bank wants to guarantee that its S3 buckets and KMS keys in all member accounts can only be accessed by principals in its organization, even if a developer writes a bucket policy that allows a partner’s account. Which solution meets this with the least effort?
A. An SCP on the root denying s3:* unless aws:PrincipalOrgID matches.
B. An RCP on the root denying S3 and KMS access unless aws:PrincipalOrgID matches the organization (with exceptions for AWS service principals).
C. Amazon Macie in every account.
D. IAM Access Analyzer alone.
Show the worked answer
Answer: B
RCPs limit access to resources for every principal, including ones from outside accounts, which an SCP cannot do.
Why not the others
A: SCPs never apply to the partner’s principals.
C: Macie finds sensitive data; it doesn’t block access.
D: Access Analyzer reports external access but doesn’t prevent it.
How the exam tests this
“Limit what our principals can do”→ SCP.
“Stop external principals using our resources”→ RCP (data perimeter).
“Org-wide IMDSv2 / block public AMIs”→ Declarative policy.
“Don’t let AI services train on our content”→ AI services opt-out policy.
“Standard tag values across accounts”→ Tag policy.
Must remember
SCP: 10 per target, 10,240 chars.
RCP: 5 per target, 5,120 chars, incl. RCPFullAWSAccess.
Neither applies to the management account.
Declarative: control plane, covers new APIs + SLRs.
Security services such as GuardDuty and Security Hub need to see every account. You could run them from the management account, but that breaks the rule of keeping it nearly empty. Skill 6.1.4 is about the right pattern: register a delegated administrator, usually a dedicated security tooling account (in Control Tower, often the Audit account).
Concept profile
Delegated administrator account
often confused with Management account
?What is it?
A member account that the management account registers to manage one AWS service for the whole organization: enable it in all accounts, see all findings and change settings, without the management account being used day to day.
⚙How does it work?
From the management account: enable trusted access for the service, then register the member account (in the service console or with register-delegated-administrator).
The delegated admin gets service permissions plus read-only Organizations access (list accounts, OUs and policies).
Most security services support it: GuardDuty, Security Hub, Inspector, Macie, Detective, AWS Config, Firewall Manager, IAM Access Analyzer, Security Lake, Audit Manager, CloudTrail and IAM (for centralized root access).
Turn on auto-enable so new accounts are covered automatically; member accounts can’t disable it themselves.
Organization policy management can also be delegated with a resource-based delegation policy.
{ }Structure
Register once, manage everything from the security account.
⇄Delegated admin vs Management account
Delegated admin
Management account
Day-to-day use
Yes, by the security team
Only tasks that need it
SCPs apply
Yes
No
Change org structure
No (read-only)
Yes
Blast radius if compromised
One service area
Whole organization
Exam hint
“central security without mgmt account”
“register the delegated admin”
!Common mistakes the exam tests
Running GuardDuty or Security Hub from the management account “because it sees everything”.
Picking a different delegated admin for each service: AWS recommends one security tooling account for a single view.
Forgetting to enable trusted access first.
Assuming one registration covers all Regions for Regional services like GuardDuty: configure each Region you use.
Thinking the delegated admin can move accounts or attach SCPs: it only has read-only Organizations access unless you delegate policy management.
✓Benefits and use cases
One security team sees findings from all accounts.
New accounts are protected without any manual step.
Keeps the management account locked down.
Think of it like · a hotel group
Head office and the security manager.
AWS concept
Familiar thing
Management account
≈
The owners’ office: signs contracts, rarely opened
Trusted access
≈
The owners allowing the security company to work in all hotels
Delegated administrator
≈
The head of security who runs cameras in every hotel
Auto-enable
≈
Every new hotel gets cameras on opening day
Read-only Organizations access
≈
The security head can see the list of hotels but can’t sell one
Real AWS example · make the security account the GuardDuty admin
Run in the management account, then configure auto-enable from the delegated admin.
$ aws organizations enable-aws-service-access \
--service-principal guardduty.amazonaws.com
$ aws guardduty enable-organization-admin-account \
--admin-account-id 333344445555
# In the delegated admin (333344445555), for each Region:
$ aws guardduty update-organization-configuration \
--detector-id 12abc34d567e8fa901bc2d34eexample \
--auto-enable-organization-members ALL
$ aws organizations list-delegated-administrators \
--query "DelegatedAdministrators[].{Id:Id,Name:Name}"
[ { "Id": "333344445555", "Name": "security-tooling" } ]
ALL enables GuardDuty in existing and new member accounts.
Exam-style scenario
A company enabled GuardDuty, Security Hub and Inspector in its management account to get an organization-wide view. Auditors flag that security engineers now log in to the management account every day. What should the company do?
A. Create IAM users for engineers in each member account.
B. Register a dedicated security tooling member account as delegated administrator for all three services, enable auto-enable, and remove engineers’ access to the management account.
C. Use an SCP to limit the engineers in the management account.
D. Move the services to a sandbox account.
Show the worked answer
Answer: B
Delegated admin moves daily security work out of the management account while keeping the organization-wide view.
Why not the others
A: No central view and more credentials.
C: SCPs don’t apply to the management account.
D: A sandbox account isn’t a delegated admin and has no org-wide view.
How the exam tests this
“Central security tool without mgmt account”→ Delegated administrator.
Root user: centralized root access, MFA and break-glass
Every AWS account has a root user that can do anything, and SCPs can limit it in member accounts but not in the management account. Skill 6.1.5 asks how to manage root credentials at scale. The modern answer is centralized root access for member accounts, MFA everywhere, and a tested break-glass procedure for the management account.
Concept profile
Centralized root access for member accounts
often confused with Managing root passwords per account
?What is it?
An IAM feature for organizations with two parts: root credentials management (delete and audit root passwords, access keys, signing certificates and MFA in member accounts) and privileged root actions (do the few root-only tasks from a central account with short-lived credentials).
⚙How does it work?
Enable it in IAM from the management account (trusted access for IAM); optionally register an IAM delegated administrator.
Delete member root credentials. New accounts created in the organization have no root credentials by default.
For a root-only task, an IAM user or role in the management account or IAM delegated admin calls sts:AssumeRoot on a Regional STS endpoint with exactly one task policy.
Task policies: IAMAuditRootUserCredentials, IAMCreateRootUserPassword, IAMDeleteRootUserCredentials, S3UnlockBucketPolicy, SQSUnlockQueuePolicy. Limit them with the sts:TaskPolicyArn condition key.
Allow password recovery (IAMCreateRootUserPassword) lets whoever owns the root email reset the password if you really need root sign-in again.
{ }Structure
From many root passwords to none, with short task sessions.
⇄Centralized root access vs Managing root passwords per account
Centralized root access
Per-account root passwords
Credentials to protect
None in members
One password + MFA per account
Unlock a deny-all bucket policy
AssumeRoot + S3UnlockBucketPolicy
Sign in as root
New accounts
No root credentials
Root password via recovery
Audit
CloudTrail of AssumeRoot sessions
Hard to prove who held the password
Covers management account?
No
n/a
!Common mistakes the exam tests
Thinking centralized root access protects the management account root: it doesn’t, so that root still needs strong MFA and a break-glass process.
Calling sts:AssumeRoot with root credentials or on the global STS endpoint: both fail.
Expecting a session to do anything root can do: it is limited to the one task policy.
Creating access keys for root: never; delete any that exist.
Sharing one MFA device among many admins with no record: use a vault, two-person rule and alarms.
✓Benefits and use cases
Remove hundreds of member root passwords in one go.
Fix a bucket or queue policy that locked everyone out.
Prove to auditors that root can’t sign in to member accounts.
MFA and break-glass
AWS now requires MFA for the root user of all account types (standalone, management and member); users must register MFA within 35 days of their first console sign-in attempt if it isn’t set up. AWS recommends passkeys or security keys because they resist phishing, and you can register more than one MFA device. Accounts whose root credentials were deleted through centralized root access don’t need root MFA at all. A break-glass procedure is the documented emergency path when normal access fails (for example IAM Identity Center or the identity provider is down): a few emergency IAM roles or users in a dedicated account, or the management account root, with credentials split and stored in a safe or vault, MFA held by different people, CloudWatch/EventBridge alarms on every use, and a regular test. After use, rotate the credentials and review CloudTrail.
Think of it like · a bank’s master keys
Fewer master keys means fewer ways to rob the bank.
AWS concept
Familiar thing
Root user
≈
The master key that opens every door and vault
Deleting member root credentials
≈
Melting down the master keys of every branch
sts:AssumeRoot + task policy
≈
Head office sends a locksmith for one job, for fifteen minutes, with a written work order
S3UnlockBucketPolicy
≈
The locksmith only fixes a jammed vault door, nothing else
Break-glass
≈
The emergency key in a sealed glass box that sets off an alarm when opened
MFA passkey
≈
The key only works with the manager’s fingerprint
Real AWS example · unlock a bucket that denies everyone
A bad bucket policy denies all principals in member account 222233334444.
The session can only perform the actions in S3UnlockBucketPolicy, and the call appears in CloudTrail.
Exam-style scenario
A company has 300 member accounts. Auditors want proof that no one can sign in as root to member accounts, but the cloud team sometimes needs to delete S3 bucket policies that deny all principals. What should the security engineer do with the least operational effort?
A. Store all 300 root passwords and MFA devices in a vault.
B. Enable centralized root access, delete member root credentials, and use sts:AssumeRoot with the S3UnlockBucketPolicy task policy when needed.
C. Attach an SCP that denies all actions by root.
D. Create an IAM role with s3:* in each account.
Show the worked answer
Answer: B
No root credentials exist to steal, and the rare root-only task is done with a short, scoped, audited session.
Why not the others
A: Huge effort and root sign-in is still possible.
C: Also blocks the root-only task the team needs.
D: A deny-all bucket policy also denies that role; only root can delete it.
How the exam tests this
“Remove root passwords in member accounts”→ Centralized root access.
Cheatsheet extras: shared responsibility, security basics and SCP inheritance
Your cheat sheet opens with “Security 101”: the shared responsibility model, the CIA and AAA ideas, and how AWS secures its own side. Domain 6 is called Security Foundations and Governance, so these basics still appear in questions, usually hidden inside a scenario (“who must patch this?”, “which service gives non-repudiation?”). This section also adds the SCP inheritance rules the cheat sheet stresses, updated for 2025.
Concept profile
Shared responsibility model
often confused with “AWS is compliant, so my workload is compliant”
?What is it?
The split of security work between AWS and you. AWS is responsible for security of the cloud (data centers, hardware, the virtualization layer, the global network, managed service software). You are responsible for security in the cloud (your data, identities, configuration, encryption choices, and the operating system when you control it).
⚙How does it work?
The line moves with the service type. The more AWS manages, the less you patch, but you always own data, IAM and access configuration.
Infrastructure services (EC2, EBS, VPC): you own the guest OS, patches, apps, security groups, network ACLs and encryption.
Container / managed services (RDS, EMR, Elastic Beanstalk): AWS patches the OS and database engine; you own network access, database users, backups settings and encryption choices.
Abstracted services (S3, DynamoDB, SQS, Lambda, KMS): AWS runs everything underneath; you own data, policies, encryption settings and access.
Shared controls: patch management, configuration management, awareness and training. Inherited controls: physical and environmental controls you inherit fully from AWS.
{ }Structure
The same model drawn for three service types.
⇄Shared responsibility vs “AWS is compliant, so we are”
What is true
The wrong belief
AWS certifications (SOC, PCI DSS, ISO)
Cover AWS’s side; you download them from AWS Artifact
They certify your workload too
Patching EC2
Your job (Patch Manager helps)
AWS patches every OS
Patching RDS engine
AWS applies it in your maintenance window
You must log in to the OS and patch
S3 bucket exposure
Your bucket policy and Block Public Access
AWS keeps buckets private for you
Exam hint
“customer responsibility” → config, data, IAM, guest OS
Choosing “contact AWS” to fix something on your side, such as an open security group or a guest OS patch.
Thinking AWS patches the OS of an EC2 instance; it doesn’t. For RDS it does.
Asking AWS for access to the hypervisor or physical host logs: you never get them.
Reading AWS’s PCI DSS report as proof that your application is PCI compliant: you still need your own assessment (the cheat sheet calls it a gap audit).
Forgetting that encryption is your choice even on abstracted services (for example SSE-KMS with your own key).
✓Benefits and use cases
Decide who acts in an incident (the hypervisor is AWS; the instance is you).
Prefer managed and abstracted services to shrink the work you own.
Map controls for auditors: inherited (physical), shared (patching, training) and yours (data, IAM).
Security basics: CIA, AAA and non-repudiation mapped to AWS
Multi-AZ, Auto Scaling, Route 53 health checks, Shield
Authentication
Who are you?
IAM users and roles, IAM Identity Center, MFA, federation
Authorization
What may you do?
IAM policies, SCPs, RCPs, resource policies
Accounting
What did you do?
CloudTrail, CloudWatch Logs, Config history
Non-repudiation
You can’t later deny you did it
CloudTrail with log file integrity validation (signed digest files) in a locked bucket
AWS’s own side, which you inherit: physical security of data centers, disk destruction when decommissioned, separation of the Amazon.com corporate network from AWS, staff access through bastions with regular access reviews, formal change management, secure design reviews and penetration testing of AWS software. You can’t audit these yourself; you read AWS’s reports in AWS Artifact (Day 3).
SCP inheritance, deny lists and allow lists
The cheat sheet says SCPs are “a filter”. Here is exactly how the filter works. For an action to be allowed in a member account, an SCP must allow it at every level from the root down: the root, each OU on the path, and the account itself. A deny at any level wins, and nothing lower can add the action back.
Strategy
How it is built
Good for
Deny list (default)
Keep FullAWSAccess attached everywhere; add SCPs with Deny statements
Most organizations: block a few risky actions, new services work automatically
Allow list
Remove FullAWSAccess and attach SCPs that Allow only approved services, at each level
Very strict OUs (for example a regulated workload); new services stay blocked until added
Older material says SCP Allow statements can’t use conditions and must use "Resource": "*". Today (since September 2025) SCPs support the full IAM policy language: conditions and specific resource ARNs in Allow statements, and NotResource. What has not changed: an SCP still has no Principal element, still never grants, and a deny still beats any allow.
SCPs don’t affect the management account or service-linked roles. They do affect the root user of member accounts. Every root, OU and account must always have at least one SCP attached, so you can’t detach the last one.
Think of it like · renting a flat in a building
The cheat sheet uses a house: the landlord fits fire alarms and fences; you lock your own door.
AWS concept
Familiar thing
Security OF the cloud
≈
The landlord’s building: walls, wiring, front gate, fire alarms
Security IN the cloud
≈
Locking your own flat, closing windows, who gets a key
EC2 vs RDS vs S3
≈
Empty flat vs furnished flat vs hotel room: the more the owner provides, the less you maintain
SCP inheritance
≈
To reach your flat you pass the building gate, the floor door and your door; any locked door stops you
FullAWSAccess
≈
All doors left open by default, so you only lock the few you care about
Non-repudiation
≈
A signed visitor book with CCTV: nobody can later say “I was never here”
Real AWS example · deny-list SCP that limits Regions
Attached to the Workloads OU. Global services are exempt with NotAction, and a break-glass role is exempt with a condition.
This works next to FullAWSAccess (deny list). It applies to every account in the OU, including new ones and their root users, with no per-user policies.
Exam-style scenario
A security team removed FullAWSAccess from the Sandbox OU and attached an SCP that allows only ec2:* and s3:*. The organization root still has FullAWSAccess. An account in the Sandbox OU also has FullAWSAccess attached directly. A developer with AdministratorAccess in that account tries to create a DynamoDB table. What happens?
A. It succeeds, because the account has FullAWSAccess attached directly.
B. It fails, because DynamoDB is not allowed by the SCP on the Sandbox OU, and every level must allow the action.
C. It succeeds, because AdministratorAccess overrides SCPs.
D. It fails only for the root user of the account.
Show the worked answer
Answer: B
An action must be allowed by an SCP at the root, at every OU on the path and at the account. The Sandbox OU only allows EC2 and S3, so DynamoDB is filtered out for everyone in that account.
Why not the others
A: An allow at the account level can’t add back what a higher level didn’t allow.
C: IAM permissions are always limited by SCPs in member accounts.
D: SCPs apply to all IAM principals and the member root user alike.
How the exam tests this
“Who patches the guest OS on EC2?”→ The customer. On RDS: AWS.
“Prove a user can’t deny making the change”→ CloudTrail with log file validation.
“Allow in a child OU but denied at the root”→ Still denied; remove the deny higher up or move the account.
“Only approved services, new ones blocked”→ Allow-list SCPs at every level.
“Limit member root users for all accounts”→ SCP on the OU or root (plus centralized root access).
Must remember
AWS = security OF the cloud; you = security IN the cloud.
EC2: you patch the OS. RDS/S3: AWS does. Data and IAM: always you.
CIA · AAA · non-repudiation = CloudTrail + validation.
SCP must allow at every level; any deny wins.
Since 2025: SCPs support conditions in Allow, specific resources, NotResource.
SCPs skip the management account and service-linked roles.
Tap a branch to jump back to that part of the lecture. Try redrawing this map from memory on paper.
2. Match the requirement to the control
The left column is the exam wording; the right column is the answer.
3. “If the question says… pick…”
SCPs are not available in the organizationEnable all features
Workloads in the management accountMove them to member accounts
Compromised account, keep evidenceSuspended OU + deny-all SCP
Best-practice multi-account setup fastControl Tower landing zone
Enrollment fails on an existing accountRemove existing Config recorder
Reject resources in templatesProactive control (CloudFormation hooks)
Accounts created from Git with TerraformAccount Factory for Terraform
Outside accounts must not reach our dataRCP with aws:PrincipalOrgID
Org-wide IMDSv2 or block public snapshotsDeclarative policy
Content must not train AWS AI modelsAI services opt-out policy
Security tools without the management accountDelegated administrator
Member root must not be able to sign inCentralized root access
Who patches the guest OS on EC2?The customer (RDS: AWS)
Child OU allows it, root SCP denies itStill denied: fix the deny higher up
Day 1 in one sentence
Split into accounts, govern them with Control Tower and organization policies, run security from a delegated admin, and leave no root keys lying around.
09
Must-remember cheat sheet
1. Org policies need all features.
2. OUs nest 5 levels; default 10 accounts.
3. Management account: no SCP/RCP effect, keep it empty.
4. Shared accounts: Log Archive + Audit.
5. Enroll: no existing Config recorder; execution role.
17. AWS = security OF the cloud; you = IN the cloud.
18. EC2 OS: you patch · RDS/S3: AWS.
19. SCP must allow at every level; any deny wins.
20. Max attached per root/OU/account: 10 SCPs · 5 RCPs (RCPFullAWSAccess counts) · 10 declarative.
10
Core quiz
Check the basics first. Pick an answer, then press Check.
11
Hard quiz
Harder than most real exam questions on purpose, with one “choose two” and one matching question. Aim for 9 out of 12 before Day 2.
12
Practice test questions (from your mock exams)
Nine questions about Organizations, SCPs and the root user. These questions come from your own mock exams in the practice tests folder, matched to this lecture. Each one was checked against current AWS behavior, so some wording and answers are updated; the source is shown at the end of each explanation. Questions marked (New) were written in October 2026 for exam-guide skills or AWS changes that the mocks don’t cover.
13
Hands-on lab (30 minutes, low cost)
Use a personal test organization, never a company one. Organizations, SCPs, RCPs and declarative policies are free.
In a test management account, create an organization with all features. Create OUs Sandbox and Suspended, and create one member account into Sandbox (it needs its own unique email address).
Enable SCPs and attach an SCP to Sandbox that denies organizations:LeaveOrganization and all Regions except one (aws:RequestedRegion). Use OrganizationAccountAccessRole to switch into the member and try to create something in another Region: you should get AccessDenied.
Enable RCPs and look at RCPFullAWSAccess on every target. Attach an RCP to Sandbox that denies s3:* unless aws:PrincipalOrgID is your organization (keep an exception for AWS service principals). Read the effective policy for the account.
Enable declarative policies for EC2 and attach one that sets image block public access and snapshot block public access to block_new_sharing. Open the account status report.
In IAM, open Root access management, enable it, and run the IAMAuditRootUserCredentials task on the member account. Notice that the new account has no root credentials.
Read, but don’t deploy, the Control Tower setup page: a landing zone creates extra accounts and AWS Config and CloudTrail resources that cost money.
Clean up: detach and delete the policies, move the member account to Suspended and close it (closed accounts stay visible for a while before they are removed), then delete the OUs. Don’t leave AWS Config or GuardDuty running in test accounts: they bill per resource or per event.