Governance Day 1
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
Root all features enabled Management account billing + organization admin only SCPs and RCPs do not apply to it Policies attach to root, OU or account and are inherited downwards Security OULog ArchiveAudit / securitytoolingInfrastructureNetwork hubShared servicesIdentityWorkloadsProd OUNon-prod OUsplit by SDLCSandboxExperimentsBudget alarmsNo prod dataSuspendedQuarantineDeny-all SCPBefore closingUp to 5 levels of OUs under the root · 2,000 OUs · default quota 10 accounts (raise it)Group by function and controls, not by the company org chart
A common OU layout from the AWS multi-account guidance.
⇄All features vs Consolidated billing only
All featuresConsolidated billing only
One bill, volume discountsYesYes
SCPs, RCPs, declarative policiesYesNo
Trusted access / delegated adminYesNo
Organization CloudTrail trailYesNo
Exam hintAny security control across accountsBilling 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 conceptFamiliar 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).

$ aws organizations create-organizational-unit \
    --parent-id r-a1b2 --name Workloads-Prod
{ "OrganizationalUnit": { "Id": "ou-a1b2-prod1234",
    "Arn": "arn:aws:organizations::111111111111:ou/o-exampleorg/ou-a1b2-prod1234",
    "Name": "Workloads-Prod" } }

$ aws organizations move-account --account-id 222233334444 \
    --source-parent-id r-a1b2 --destination-parent-id ou-a1b2-prod1234

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?

  1. A. Attach an SCP to the root.
  2. B. Enable all features in the organization, which every invited member account must approve, then attach an SCP.
  3. C. Create an IAM policy in each account.
  4. 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.
Must remember
  • Account = strongest boundary.
  • All features needed for any org policy.
  • OUs nest 5 levels; policies are inherited.
  • Management account: not restricted by SCPs/RCPs.
  • OU by function + controls, not org chart.
02

AWS Control Tower landing zone

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
Management account Control Tower home Region Account Factory, controls IAM Identity Center (optional) Controls never block it Log Archive account Central S3 buckets for CloudTrail and Config logs from every account Few people, read-only Audit account Security team’s account Cross-account audit roles SNS compliance alerts Delegated admin for tools Registered OUs with enrolled member accounts Baseline: org CloudTrail, Config recorder, roles · mandatory controls · logs flow to Log Archive Enroll one account, or register an OU to govern all its accounts Landing zone 4.0 (Nov 2025): service integrations are optional and a Security OU is no longer required
Shared accounts and the baseline Control Tower deploys.
⇄Control Tower vs AWS Organizations alone
Control TowerOrganizations alone
Account structurePrebuilt landing zoneYou design everything
Central loggingLog Archive set up for youBuild trails and buckets yourself
GuardrailsCatalog of managed controlsWrite your own SCPs
New accountsAccount Factory / AFT with baselineCreateAccount, 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 conceptFamiliar 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?

  1. A. Create a new organization and migrate every account into it.
  2. 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.
  3. C. Write SCPs and CloudTrail trails by hand in each account.
  4. 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.
  • “Central log storage account”→ Log Archive.
  • “Security team’s cross-account account”→ Audit account.
  • “Govern all accounts in an existing OU”→ Register the OU.
  • “Changed Control Tower SCP by hand”→ Drift: repair the landing zone.
Must remember
  • Shared accounts: Log Archive + Audit.
  • Works in new and existing organizations.
  • Enroll needs no conflicting Config + execution role.
  • Controls never restrict the management account.
  • LZ 4.0: integrations optional, Security OU optional.
03

Control Tower controls and Account Factory

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
PreventiveStops the actionbefore it happensSCP, RCP ordeclarative policye.g. deny leaving orgDetectiveFinds resources thatalready break a ruleAWS Config rulescompliance dashboarde.g. public S3 bucketProactiveChecks a templatebefore it deploysCloudFormation hooksfails noncompliante.g. S3 without logsMandatoryalways on, can’t turn offStrongly recommendedbest practiceElectiveoptional, per needControls are turned on per OU. Custom controls: your own SCPs, Config rules or hooks, often via CfCT.
Three behaviors, three guidance levels.
⇄Managed controls vs Writing raw SCPs and Config rules
Managed controlsRaw SCPs / Config rules
Written byAWS, testedYou
AppliedPer OU from one console or APIAttach policies and deploy rules yourself
Drift detectionYesBuild it yourself
FlexibilityCatalog + parametersAnything 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 conceptFamiliar 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.

$ aws controltower enable-control \
    --control-identifier arn:aws:controlcatalog:::control/EXAMPLEID \
    --target-identifier arn:aws:organizations::111111111111:ou/o-exampleorg/ou-a1b2-prod1234
{ "operationIdentifier": "0f6b3a2e-...-example",
  "arn": "arn:aws:controltower:us-east-1:111111111111:enabledcontrol/EXAMPLE" }

$ aws controltower get-control-operation \
    --operation-identifier 0f6b3a2e-...-example
{ "controlOperation": { "operationType": "ENABLE_CONTROL", "status": "SUCCEEDED" } }

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?

  1. A. A detective Control Tower control backed by AWS Config with auto-remediation.
  2. B. The matching proactive Control Tower control enabled on the Workloads OU.
  3. C. An SCP that denies s3:CreateBucket.
  4. 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.
  • D: Macie finds sensitive data, not configuration.
How the exam tests this
  • “Stop the API call”→ Preventive (SCP/RCP).
  • “Report noncompliant existing resources”→ Detective (Config).
  • “Reject before CloudFormation creates it”→ Proactive (hooks).
  • “Accounts from a Git push with Terraform”→ AFT.
  • “Custom SCPs and Config rules in pipeline”→ CfCT (custom controls).
Must remember
  • Preventive = SCP/RCP; detective = Config; proactive = hooks.
  • Guidance: mandatory, strongly recommended, elective.
  • Controls are enabled per OU.
  • Account Factory = Service Catalog; AFT = Terraform GitOps.
  • AFT runs in its own AFT management account.
04

Organization policies: which one when

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
Authorization policies (who can do what)Management policies (how services and data are set up)SCPMax permissions of IAM users androles in member accounts10,240 characters · 10 per targetRCPMax permissions on resources: S3, STS,KMS, SQS, Secrets Manager and more5,120 characters · 5 per targetDeclarativeService baseline:IMDSv2, block publicaccess, allowed AMIsAI opt-outAI services can’t useyour content toimprove or trainTag policyStandard tag keysand values; can blockbad taggingBackup policyAWS Backup plansapplied from theorganization levelSCPs and RCPs never grant. Declarative policies also govern service-linked roles.
Two families of organization policies.
⇄RCP vs Service control policy (SCP)
RCPSCP
LimitsWhat can be done to resourcesWhat IAM principals can do
Stops outside principalsYesNo (they aren’t in your org)
Limit per target / size5 · 5,120 characters10 · 10,240 characters
ServicesSupported list (S3, STS, KMS, SQS…)All services
Typical useData perimeter on resourcesRegion 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 conceptFamiliar 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.

{ "ec2_attributes": {
    "instance_metadata_defaults": {
      "http_tokens":                 { "@@assign": "required" },
      "http_put_response_hop_limit": { "@@assign": "2" },
      "http_tokens_enforced":        { "@@assign": "enabled" } },
    "snapshot_block_public_access": {
      "state": { "@@assign": "block_all_sharing" } },
    "image_block_public_access": {
      "state": { "@@assign": "block_new_sharing" } },
    "exception_message": {
      "@@assign": "Blocked by org baseline. See https://wiki.example.com/ec2" } } }

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?

  1. A. An SCP on the root denying s3:* unless aws:PrincipalOrgID matches.
  2. B. An RCP on the root denying S3 and KMS access unless aws:PrincipalOrgID matches the organization (with exceptions for AWS service principals).
  3. C. Amazon Macie in every account.
  4. 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.
  • AI opt-out: default key = all services.
05

Delegated administrators for security services

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
Management account 1. Enable trusted access 2. Register delegated administrator, then step away Security tooling account (often Audit) GuardDuty · Security Hub CSPM · Inspector · Macie · Detective Config aggregator · Firewall Manager · IAM Access Analyzer Security Lake · Audit Manager · IAM (centralized root access) Member account A auto-enabled, findings sent up Member account B can’t switch the service off New account C auto-enable for new accounts Delegated admins get read-only Organizations access. Pick the same account for every security service so one team sees everything, and repeat the setup in each Region you use where the service is Regional.
Register once, manage everything from the security account.
⇄Delegated admin vs Management account
Delegated adminManagement account
Day-to-day useYes, by the security teamOnly tasks that need it
SCPs applyYesNo
Change org structureNo (read-only)Yes
Blast radius if compromisedOne service areaWhole 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 conceptFamiliar 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?

  1. A. Create IAM users for engineers in each member account.
  2. 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.
  3. C. Use an SCP to limit the engineers in the management account.
  4. 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.
  • “Step before registering”→ Enable trusted access.
  • “New accounts covered automatically”→ Auto-enable org members.
  • “One view for all security services”→ Same security tooling account for all.
  • “Let a member manage org policies”→ Resource-based delegation policy.
Must remember
  • Register from the management account.
  • Delegated admin = member account, SCPs apply.
  • Gets read-only Organizations access.
  • Use one security tooling account.
  • Regional services: set up each Region.
06

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
Before: every member has a root password and MFA to store, rotate and audit One phished root email = full control of that account After: centralized root access Root credentials management: delete root password, access keys, signing certificates and MFA. New accounts start with no root credentials. Privileged root actions: management account or IAM delegated admin calls sts:AssumeRoot with ONE task policy, short session (900 s), Regional STS endpoint only, logged in CloudTrail Task policies IAMAuditRootUserCredentials · IAMCreateRootUserPassword · IAMDeleteRootUserCredentials S3UnlockBucketPolicy · SQSUnlockQueuePolicy Management account root is not covered: keep its password in a vault, MFA (passkey or security key), alarm on every root sign-in, and test the break-glass runbook.
From many root passwords to none, with short task sessions.
⇄Centralized root access vs Managing root passwords per account
Centralized root accessPer-account root passwords
Credentials to protectNone in membersOne password + MFA per account
Unlock a deny-all bucket policyAssumeRoot + S3UnlockBucketPolicySign in as root
New accountsNo root credentialsRoot password via recovery
AuditCloudTrail of AssumeRoot sessionsHard to prove who held the password
Covers management account?Non/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 conceptFamiliar 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.

$ aws sts assume-root --region eu-west-1 \
    --target-principal 222233334444 \
    --task-policy-arn arn=arn:aws:iam::aws:policy/root-task/S3UnlockBucketPolicy \
    --duration-seconds 900
{ "Credentials": { "AccessKeyId": "ASIA...", "SecretAccessKey": "...",
    "SessionToken": "...", "Expiration": "2026-10-10T09:15:00Z" },
  "SourceIdentity": "..." }

# With those credentials:
$ aws s3api delete-bucket-policy --bucket locked-reports-bucket

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?

  1. A. Store all 300 root passwords and MFA devices in a vault.
  2. B. Enable centralized root access, delete member root credentials, and use sts:AssumeRoot with the S3UnlockBucketPolicy task policy when needed.
  3. C. Attach an SCP that denies all actions by root.
  4. 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.
  • “Bucket policy denies everyone”→ sts:AssumeRoot + S3UnlockBucketPolicy.
  • “Root needs password again”→ Allow password recovery task.
  • “Phishing-resistant root MFA”→ Passkey / security key.
  • “Emergency access when IdP is down”→ Break-glass account/role + alarms.
Must remember
  • New org accounts: no root credentials by default.
  • AssumeRoot: one task policy, Regional STS, 900 s.
  • Five task policies (audit, create password, delete, S3, SQS).
  • Management account root: not covered, protect with MFA.
  • Break-glass: vault, split custody, alarm, test.
07

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
EC2 (infrastructure) RDS (managed) S3 / DynamoDB (abstracted) Data, IAM, encryption choice Data, IAM, encryption choice Data, IAM, bucket/table policy Application + its users DB users, parameter groups Service software (AWS) Security groups, NACLs Security groups, public access Network + scaling (AWS) Guest OS + patches OS + DB engine patches (AWS) OS + platform (AWS) Hypervisor, hardware, global network, data centers, physical security (always AWS) You (security IN the cloud) AWS (security OF the cloud) The orange area grows from left to right. The top teal row never moves: data and access are always yours.
The same model drawn for three service types.
⇄Shared responsibility vs “AWS is compliant, so we are”
What is trueThe wrong belief
AWS certifications (SOC, PCI DSS, ISO)Cover AWS’s side; you download them from AWS ArtifactThey certify your workload too
Patching EC2Your job (Patch Manager helps)AWS patches every OS
Patching RDS engineAWS applies it in your maintenance windowYou must log in to the OS and patch
S3 bucket exposureYour bucket policy and Block Public AccessAWS keeps buckets private for you
Exam hint“customer responsibility” → config, data, IAM, guest OS“AWS responsibility” → physical, hypervisor, managed software
!Common mistakes the exam tests
  • 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

IdeaPlain meaningAWS examples
ConfidentialityOnly the right people can read itIAM, MFA, bucket policies, security groups, KMS encryption
IntegrityNobody changed it without you knowingTLS (ACM), S3 Versioning, MFA Delete, Object Lock, CloudTrail log file validation
AvailabilityIt works when neededMulti-AZ, Auto Scaling, Route 53 health checks, Shield
AuthenticationWho are you?IAM users and roles, IAM Identity Center, MFA, federation
AuthorizationWhat may you do?IAM policies, SCPs, RCPs, resource policies
AccountingWhat did you do?CloudTrail, CloudWatch Logs, Config history
Non-repudiationYou can’t later deny you did itCloudTrail 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.

StrategyHow it is builtGood for
Deny list (default)Keep FullAWSAccess attached everywhere; add SCPs with Deny statementsMost organizations: block a few risky actions, new services work automatically
Allow listRemove FullAWSAccess and attach SCPs that Allow only approved services, at each levelVery 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 conceptFamiliar 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.

{
  "Version": "2012-10-17",
  "Statement": [{
    "Sid": "DenyOutsideApprovedRegions",
    "Effect": "Deny",
    "NotAction": [ "iam:*", "organizations:*", "sts:*", "support:*",
                   "cloudfront:*", "route53:*", "waf:*", "budgets:*" ],
    "Resource": "*",
    "Condition": {
      "StringNotEquals": { "aws:RequestedRegion": [ "eu-west-1", "eu-central-1" ] },
      "ArnNotLike": { "aws:PrincipalARN": "arn:aws:iam::*:role/BreakGlassAdmin" }
    }
  }]
}

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?

  1. A. It succeeds, because the account has FullAWSAccess attached directly.
  2. B. It fails, because DynamoDB is not allowed by the SCP on the Sandbox OU, and every level must allow the action.
  3. C. It succeeds, because AdministratorAccess overrides SCPs.
  4. 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.
08

Lecture summary map

Day 1 of Domain 6 on one screen.

1. Mind map

① OrganizationsAll featuresOUs by functionMgmt acct empty② Landing zoneLog Archive + AuditRegister / enrollLZ 4.0 flexible③ Controls + AFTPrev · Det · ProactiveSCP · Config · hooksAF / AFC / AFT④ Org policiesSCP vs RCPDeclarative (EC2)AI opt-out⑤ Delegated adminTrusted accessSecurity tooling acctAuto-enable⑥ Root userNo member root credssts:AssumeRootBreak-glass + MFAGovernance 1orgs + Control Tower
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

“Isolate workloads, separate billing”→Multiple accounts + OUs“Set up a governed multi-account base”→Control Tower landing zone“Block before the resource is created”→Proactive control (hooks)“Members must never do X”→SCP on the OU“Only our org may use our S3 / KMS”→RCP (data perimeter)“IMDSv2 / no public AMIs, org-wide”→Declarative policy“Run GuardDuty without mgmt account”→Delegated administrator“Remove root passwords in members”→Centralized root access
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.
6. Edit CT’s own SCPs = drift.
7. Preventive SCP/RCP · detective Config · proactive hooks.
8. Guidance: mandatory / strongly rec. / elective.
9. AFT = Terraform GitOps, own AFT account.
10. SCP 10 · 10,240; RCP 5 · 5,120.
11. RCP = data perimeter, stops outside principals.
12. Declarative: IMDS, AMI/snapshot/VPC BPA, serial console.
13. AI opt-out: default key, all Regions.
14. Delegated admin: trusted access first, read-only org.
15. AssumeRoot: one task policy, Regional STS.
16. Root MFA required; prefer passkeys.
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.

  1. 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).
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.