SaveMyCert
Log in
5 of 5 free questions left today·for unlimited practice
SCS-C03 last-day review

SCS-C03 cheat sheet

125 key facts across 6 exam domains, distilled from the full SCS-C03 revision notes — with the exam pattern behind each topic. Skim it the week of your exam.

Updated

Detection

16% of the exam

Designing Security Monitoring and Alerting Across an AWS Organization

  • Security Hub with a delegated administrator and cross-Region aggregation is the single pane of glass for findings across accounts and Regions, all normalized into ASFF.
  • GuardDuty consumes CloudTrail, VPC Flow Log, and DNS telemetry directly from AWS infrastructure — you don't enable those logs for it, and disabling them doesn't blind it.
  • GuardDuty auto-enable through the delegated administrator is how new accounts are protected from the moment they join the organization.
  • Security Lake normalizes security data into OCSF as Parquet on S3 for analytics, SIEM integration, and retention — it stores and normalizes but never alerts; Security Hub triages.
  • Route findings by severity with EventBridge rules in the aggregation Region: page on High/Critical, queue the rest.
  • CloudWatch anomaly detection alarms on learned baselines catch drift that static thresholds miss; metric filters turn log patterns into alarmable metrics.
  • Scheduled assessment maps by layer: Config conformance packs for resource configuration, Security Hub standards (FSBP/CIS) for account posture, State Manager for in-instance state.
  • GuardDuty finds threats, Inspector finds vulnerabilities, Macie finds sensitive data, Detective investigates — distractors come from the wrong row of that table.
How the exam tests this

Expect scenario questions keyed on trigger phrases: a “single view of security findings across all accounts and Regions” points to Security Hub with a delegated administrator and cross-Region aggregation into one home Region; “normalize security data into an open schema for a third-party SIEM” points to Amazon Security Lake and OCSF; “ensure every new account is monitored automatically” points to GuardDuty auto-enable via the delegated administrator. Distractors often place administration in the management account instead of a delegated security tooling account, or swap services across the detection table — offering Inspector for threat detection or GuardDuty for sensitive-data discovery. Slow down on whether the question asks for detection (GuardDuty), aggregation (Security Hub), storage and analytics (Security Lake), or investigation (Detective).

Designing Security Logging Solutions: CloudTrail, Flow Logs, Central Archives

  • An organization trail from the management account logs every member automatically, and member accounts cannot modify, stop, or delete it — the answer to tamper-resistant org-wide logging.
  • Management events record the control plane and are on by default; data events (S3 objects, Lambda invokes) are high-volume, off by default, and should be scoped with event selectors.
  • CloudTrail log file integrity validation — hourly SHA-256 digest files, signed and chained — is how you prove logs were not modified or deleted.
  • VPC Flow Logs capture metadata only, never payloads; custom-format fields like pkt-srcaddr and tcp-flags are what make them useful behind NAT and against scans.
  • Centralize into a dedicated log archive account: service-delivery bucket policies with source conditions, SSE-KMS (key policy must grant the logging service GenerateDataKey and readers Decrypt), versioning, deny-delete, and Object Lock compliance mode for WORM.
  • S3 is the durable, Athena-queryable archive; CloudWatch Logs is the operational store with metric filters and Logs Insights; subscription filters into Kinesis or Firehose are the SIEM bridge.
  • Security Lake is the managed alternative to a hand-built pipeline: org-wide collection normalized to OCSF Parquet, consumed by SIEMs through subscribers.
  • Set lifecycle transitions and explicit retention everywhere — CloudWatch Logs groups default to never expiring.
How the exam tests this

Trigger phrases decide these questions: “prove the logs weren't modified” means CloudTrail log file integrity validation and digest files; “one trail covering every current and future account that member admins can't disable” means an organization trail; “regulator requires logs to be undeletable” means S3 Object Lock in compliance mode on the archive bucket; “normalize security data to OCSF” or “managed security data lake” means Security Lake. Expect troubleshooting-flavored design questions on SSE-KMS log buckets — delivery failing because the key policy lacks GenerateDataKey for the service, or analysts unable to read logs without kms:Decrypt. Also watch the query-tool split: Athena for SQL over years of logs in S3, CloudWatch Logs Insights for recent data already in log groups.

Troubleshooting Security Monitoring, Logging, and Alerting on AWS

  • Triage every broken pipeline in order — source, delivery, destination permissions, consumer — because downstream stages fail silently with no error anywhere.
  • A trail that reports it is logging can still deliver nothing: check LatestDeliveryError, then the S3 bucket policy and KMS key policy for cloudtrail.amazonaws.com — an aws:SourceArn condition with a wrong value severs delivery invisibly.
  • CloudTrail records management events by default; S3 object-level and Lambda invoke data events only exist if event selectors enabled them — check selectors before suspecting tampering.
  • GuardDuty is enabled per Region per account; suppression rules auto-archive findings, trusted IP lists stop them being generated, and each protection plan gates its own finding types.
  • GuardDuty and Security Hub events emit in the finding's Region — an EventBridge rule in another Region matches nothing, and patterns are exact about types, casing, and values.
  • A KMS-encrypted SNS topic needs a customer managed key whose policy grants the publishing service kms:GenerateDataKey* and kms:Decrypt; the aws/sns managed key cannot grant this, so alarms publish into a void.
  • Metric filters are case-sensitive and never retroactive; alarms fail on wrong statistic, period, or missing-data treatment; subscriptions deliver nothing until confirmed.
  • Stale compliance data means a stopped Config recorder or a broken delivery channel before it means anything else.
How the exam tests this

Task 1.3 questions hand you a broken pipeline and ask for the most likely cause or the first diagnostic step. "Logs stopped after a KMS or bucket-policy change" points at a key or bucket policy that no longer allows cloudtrail.amazonaws.com; "the alarm never fired" points at a metric filter pattern or casing mismatch, alarm statistic, or an unconfirmed or KMS-blocked SNS subscription. "No findings in the aggregation Region" points at cross-Region aggregation or linked-Region configuration, and "the finding exists but no one was alerted" points at an EventBridge rule in the wrong Region or a pattern that does not match the real finding JSON. Expect distractors that suggest rebuilding the trail, detector, or rule — the correct answer is almost always the specific permission or configuration that broke.

Incident Response

14% of the exam

Design and Test an AWS Incident Response Plan (SCS-C03)

  • Preparation is the heavily tested phase: pre-provisioned IR roles, break-glass procedures, cross-account access, and a dedicated forensics account must exist before any incident.
  • Deactivate an exposed access key first — it is immediate, reversible, and preserves the investigation trail; deletion is a later eradication step.
  • Temporary credentials cannot be deactivated: revoke a compromised role's sessions with an inline deny conditioned on aws:TokenIssueTime (the AWSRevokeOlderSessions pattern).
  • Register alternate security contacts — AWS reaches you through Health events and Trust & Safety notifications, and those signals must route to responders.
  • Write runbooks as Systems Manager Automation documents orchestrated by Step Functions, with approval gates before high-impact actions; the Automated Forensics Orchestrator for Amazon EC2 automates evidence acquisition.
  • Test the plan with tabletop exercises, GuardDuty sample findings, and Fault Injection Service game days — and end every test with playbook updates.
  • Analysis capability is a preparation decision: CloudTrail data events, Detective, and Security Hub only help if they were enabled before the incident.
How the exam tests this

Task 2.1 questions hinge on preparation and validation trigger words. "Prepare for incidents" or "minimize blast radius" points to pre-provisioned IR roles, cross-account access, a dedicated forensics account, and staged tooling — never granting access mid-incident. "Stop an in-progress session" or "revoke temporary credentials" means an inline deny policy conditioned on aws:TokenIssueTime, not deleting the role. "Test and validate the plan" maps to tabletop exercises, GuardDuty sample findings, and Fault Injection Service game days, always followed by playbook iteration.

Responding to AWS Security Events: Compromised EC2, Credentials, and S3

  • Order of operations is everything: validate the finding, isolate, preserve evidence (snapshots, memory), and only then eradicate and rebuild from a clean AMI.
  • Security-group changes do not cut established tracked connections — use network ACL denies to sever an attacker's live session; the empty isolation security group remains the per-instance containment standard.
  • Detach a compromised instance from its Auto Scaling group and load balancer before anything else — the ASG can terminate it (destroying evidence) regardless of termination protection.
  • Snapshot EBS volumes before any change, and capture memory before any shutdown — stopping an instance destroys RAM and instance-store evidence.
  • Deactivate exposed access keys; temporary credentials can only be killed with a deny policy conditioned on aws:TokenIssueTime — then hunt CloudTrail for persistence (new users, keys, roles, policy changes).
  • For S3 exposure, Block Public Access is the containment switch; knowing what was read depends on CloudTrail data events or server access logs having been enabled beforehand.
  • Share snapshots to the forensics account with a customer managed KMS key — snapshots encrypted with the default aws/ebs key cannot be shared.
  • Automate containment with GuardDuty findings → EventBridge → Lambda or SSM runbooks, with Security Hub custom actions as the analyst-triggered path.
How the exam tests this

Task 2.2 tests sequencing through trigger words. "Preserve evidence" means snapshot EBS volumes before any change and never terminate first; "isolate without terminating" is the empty isolation security group plus ASG detachment and termination protection — remembering that tracked connections survive security-group changes, so a network ACL deny is what severs an active session. "Stop an in-progress session" for stolen temporary credentials is a deny policy conditioned on aws:TokenIssueTime; deactivation only exists for long-term keys. "Determine what data was accessed" in S3 requires CloudTrail data events or server access logs that were enabled before the incident.

Infrastructure Security

18% of the exam

Edge Security on AWS: WAF, Shield, and CloudFront as Controls

  • Web ACLs attach to CloudFront (global scope, created in us-east-1), ALBs, API Gateway REST stages, and AppSync — never to EC2 or NLBs; wrong scope or no association is why "WAF isn't working."
  • Rules run in priority order and the first terminating Allow or Block ends evaluation; Count is non-terminating and is the safe deployment mode for new rules and managed groups.
  • Rate-based rules answer "block over X requests per window" — aggregate on the forwarded IP behind a proxy, and use scope-down statements to count only the traffic that matters.
  • False-positive triage = WAF logs → terminatingRuleId → override that single rule to count or add a targeted exception, never delete the whole managed group.
  • Shield Standard is free, automatic L3/4 protection; Shield Advanced adds cost protection, health-based detection, SRT access with proactive engagement, and L7 auto-mitigation via an associated WAF web ACL.
  • Origin cloaking for an ALB needs both layers: the CloudFront origin-facing managed prefix list in the security group and a secret custom header verified by a listener rule — the prefix list alone still admits other customers' distributions.
  • Use OAC with an AWS:SourceArn bucket-policy condition for S3 origins; signed URLs cover one object, signed cookies cover many.
  • WAF is L7 at the edge; Network Firewall is stateful L3–L7 inside the VPC with Suricata rules and domain egress filtering — defense in depth uses both.
How the exam tests this

Task 3.1 questions are threat-to-control matching under constraints. "Block clients exceeding X requests in five minutes" is a rate-based rule; "protect against SQL injection/OWASP Top 10 quickly" is an AWS managed rule group; "legitimate users are being blocked" routes through WAF logs and the terminatingRuleId, then a count-mode override. "The origin must only accept CloudFront traffic" demands both the origin-facing prefix list in the security group and a verified custom header (or OAC with AWS:SourceArn for S3). "Reimburse DDoS scaling costs," "health-based detection," or "engage AWS experts during an attack" all point to Shield Advanced, and remember its L7 auto-mitigation requires an associated WAF web ACL.

Securing Compute Workloads: EC2, Containers, and Lambda

  • IMDSv2 defeats SSRF credential theft by requiring a token from a custom-header PUT; enforce it with HttpTokens=required, AMI ImdsSupport v2.0, account-level metadata defaults, and the ec2:MetadataHttpTokens IAM condition — and raise the hop limit to 2 only for containers on EC2.
  • Golden AMIs come from EC2 Image Builder pipelines with hardening (STIG) and test components; running fleets stay compliant via Patch Manager baselines, patch groups, and maintenance windows, with EBS encryption on by default.
  • Amazon Inspector is continual: SSM-based EC2 scanning, ECR enhanced scanning on push and again when new CVEs publish, and Lambda dependency plus code scanning — findings flow to Security Hub and EventBridge for automated remediation.
  • Prioritize by the Inspector score, which adjusts CVSS for context like network reachability and exploit availability.
  • ECR hardening = enhanced scanning, immutable tags (no silent overwrite of prod tags), least-privilege repository policies for cross-account pulls, and KMS encryption.
  • Execution role acts at task startup (pull image, write logs, inject secrets); task role serves the running application's API calls — startup failures implicate the execution role, runtime AccessDenied implicates the task role.
  • On EKS, grant AWS access per pod with IRSA or EKS Pod Identity, never by inflating the node instance role; enable control-plane audit logs and prefer a private API endpoint.
  • Lambda's execution role decides what the function can do; its resource-based policy decides who can invoke it — scope service grants with aws:SourceArn and aws:SourceAccount to kill the confused deputy.
How the exam tests this

Task 3.2 scenarios test whether you can map a symptom to the right identity or control. "An SSRF flaw exposed instance credentials" → enforce IMDSv2 (HttpTokens required, ec2:MetadataHttpTokens condition). "The task can't pull the image" or "can't read its secret at startup" → the execution role (or missing VPC endpoints), never the task role. "Images must be rescanned when new CVEs appear" → ECR enhanced scanning with Inspector; "prevent the prod tag from being overwritten" → tag immutability. "AccessDenied invoking the function" → the Lambda resource-based policy, scoped with aws:SourceArn against confused deputies, and "instance not visible to Session Manager or Inspector" → SSM Agent, instance profile, or the ssm/ssmmessages/ec2messages endpoints.

Network Security Controls: SGs, NACLs, Network Firewall, and Egress

  • Security groups are stateful and allow-only; referencing SGs as rule sources gives micro-segmentation that survives IP churn. NACLs are stateless, ordered, subnet-wide, and the only layer with an explicit deny — remember ephemeral return ports.
  • Removing an SG rule does not cut existing tracked connections; a NACL deny does — NACLs are the subnet-level kill switch during containment.
  • Gateway endpoints (S3/DynamoDB, route-table based, free) and interface endpoints (PrivateLink ENIs with security groups) keep traffic off the internet; endpoint policies with aws:PrincipalOrgID / aws:ResourceOrgID make them data-perimeter checkpoints.
  • Network Firewall inspects only what routing steers through its endpoints: stateless 5-tuple rules plus Suricata-compatible stateful rules, including SNI/Host-based domain allow and deny lists for egress filtering.
  • For "block egress except approved destinations": Network Firewall domain allow list in the routed path, DNS Firewall for the resolution layer — DNS Firewall controls lookups, not packets, so direct-to-IP traffic needs Network Firewall.
  • Centralized inspection = spoke TGW route tables defaulting to an inspection VPC running Network Firewall, with appliance mode enabled to keep flows symmetric; TGW route-table association and propagation are the segmentation controls.
  • Direct Connect is not encrypted by default — MACsec or a VPN over the connection are the encryption-in-transit answers; Verified Access is the VPN-less identity-based access answer.
  • Troubleshoot with Flow Logs signatures (inbound ACCEPT + outbound REJECT = stateless NACL return block; single REJECT = SG), route-table tracing for bypassed inspection, and Reachability Analyzer to name the blocking component.
How the exam tests this

Task 3.3 questions map requirements to layers: "S3 access must never traverse the internet and only reach the organization's buckets" → gateway endpoint plus an endpoint policy (aws:ResourceOrgID); "block all egress except approved domains" → Network Firewall domain allow list, with DNS Firewall as the resolution-layer complement; "inspect all inter-VPC traffic centrally" → Transit Gateway with an inspection VPC and appliance mode enabled. Troubleshooting stems hinge on one telling detail — inbound ACCEPT plus outbound REJECT in Flow Logs means a stateless NACL return-port block, while a subnet route pointing at the NAT instead of the firewall endpoint means inspection is bypassed. Explicit-deny and mid-session containment requirements point at NACLs, never security groups.

Identity and Access Management

20% of the exam

AWS Authentication Strategies: MFA, STS, and Federation

  • Enforce MFA with an explicit deny on aws:MultiFactorAuthPresent using BoolIfExists — plain Bool exempts long-term access-key requests because the key is absent from their context.
  • Prefer phishing-resistant FIDO2 keys for privileged users; protect root with MFA and no access keys, and use centralized root access management to remove member-account root credentials entirely.
  • Design for roles everywhere: temporary STS credentials expire on their own, while every long-term access key is a standing liability audited via the credential report and last-used data.
  • Choose the STS API by caller: AssumeRole for AWS principals, AssumeRoleWithSAML for IdP assertions, AssumeRoleWithWebIdentity for OIDC tokens, GetSessionToken to mint MFA-bearing sessions.
  • Third-party cross-account access requires sts:ExternalId in the trust policy — it binds the vendor's customer record to your role and defeats the confused deputy.
  • IAM Identity Center with permission sets and SCIM provisioning is the default workforce answer at multi-account scale; direct SAML federation to IAM is the legacy/single-account pattern.
  • Cognito user pools authenticate app users and issue JWTs; identity pools exchange those tokens for temporary AWS credentials — one without the other grants no AWS access.
  • AssumeRole AccessDenied is two-sided: the caller's policy must allow sts:AssumeRole and the role's trust policy must match the caller and every condition, including external ID and MFA.
How the exam tests this

Expect scenario stems that hinge on one authentication detail. "A third party accesses your account on behalf of many customers" points to sts:ExternalId in the trust policy; "MFA policy blocks users with access keys" points to BoolIfExists vs Bool on aws:MultiFactorAuthPresent. "Hundreds of member accounts and root credentials to manage" points to centralized root access management, and "CI pipeline deploys without stored keys" points to OIDC federation with aud and sub conditions. Troubleshooting stems test the two-sided AssumeRole check — caller permission and trust policy must both allow — and duration errors where the requested session exceeds the role's maximum.

IAM Policy Evaluation and Authorization Strategies on AWS

  • Evaluation order: explicit deny first, then SCPs, RCPs, resource-based policies, identity-based policies, permissions boundaries, session policies — with implicit deny for anything never allowed.
  • Only identity-based and resource-based policies grant access; SCPs, RCPs, boundaries, and session policies are ceilings that can only take away.
  • Same-account access needs an allow from either the identity policy or the resource policy; cross-account access needs both sides — 'works same-account but not cross-account' means a side is missing its grant.
  • Permissions boundaries are the delegated-admin control: condition iam:CreateRole on the boundary's presence and teams can self-serve roles that never exceed the ceiling.
  • aws:PrincipalOrgID restricts a resource to your organization; aws:SourceArn and aws:SourceAccount pin service principals and defeat the confused deputy.
  • ForAllValues matches vacuously when the key is absent — never use it alone in an Allow; pair it with a Null presence check.
  • ABAC matches aws:PrincipalTag against aws:ResourceTag so access follows tags instead of policy edits, but only with strict control over who can tag.
  • KMS key policies are the root of trust — IAM policies are powerless for a key unless its key policy enables them; S3 Block Public Access overrides any policy that would grant public access.
How the exam tests this

This task is tested almost entirely through evaluation-chain scenarios: expect stems that hand you an SCP, a bucket policy, an identity policy, and a boundary, then ask why a request failed or succeeded. "Works in the same account but not cross-account" points to a missing resource-policy grant; "cap what delegated admins can grant" points to permissions boundaries; "allow only principals from our organization" points to aws:PrincipalOrgID; and a service acting on your behalf points to aws:SourceArn/aws:SourceAccount confused-deputy conditions. Remember that SCPs, RCPs, boundaries, and session policies never grant — any option saying otherwise is a distractor — and that explicit deny beats every allow.

Data Protection

18% of the exam

Data in Transit on AWS: TLS, ACM, and End-to-End Encryption Design

  • Public ACM certificates auto-renew only while the DNS validation CNAME stays published and the certificate is in use; imported certificates never auto-renew.
  • ACM certificates attach to integrated services — ELB, CloudFront (us-east-1), API Gateway — never directly to EC2; use exportable or Private CA certificates when a host needs key material.
  • Enforcement is server-side: aws:SecureTransport denies on S3, ELB security policies plus HTTP-to-HTTPS redirects, CloudFront viewer and origin protocol policies, and rds.force_ssl or require_secure_transport on databases.
  • An ALB always terminates TLS and can re-encrypt via HTTPS target groups without validating target certificates; an NLB TCP listener is passthrough and preserves true end-to-end encryption — the listener type decides.
  • Direct Connect is private but not encrypted by default: use MACsec on supported dedicated connections or run an IPsec VPN over DX; Site-to-Site VPN is IPsec by definition.
  • Inter-Region VPC peering and Transit Gateway peering traffic is encrypted by AWS on its global backbone, and supported Nitro instances encrypt traffic between themselves automatically.
  • Diagnose TLS breakage from evidence: ALB access logs record the negotiated ssl_protocol and ssl_cipher per request — inventory clients before raising a minimum TLS version.
How the exam tests this

Expect scenario stems built on trigger phrases. 'End-to-end encryption to the target' means an NLB TCP passthrough listener — or, if L7 features are also required, an ALB with an HTTPS target group re-encrypting behind termination. 'Direct Connect must be encrypted' means MACsec on a supported dedicated connection or an IPsec VPN over DX, and 'certificate expired despite ACM' means the validation CNAME was removed or the certificate was imported. When ELB appears, check the listener type before answering — TCP passes TLS through, while TLS and HTTPS listeners terminate it.

Encryption at Rest on AWS: KMS Keys, Key Policies, and Service Integration

  • Customer managed keys are the only key type with editable key policies, controllable rotation, grants, deletion, and cross-account use — AWS managed (aws/service) keys can do none of that across accounts.
  • The key policy is the root of trust: the default kms:* account-root statement is what enables IAM policies to work on the key, and removing it can make the key unmanageable.
  • Cross-account KMS access needs both halves — the key policy allows the external account, and the external account's IAM policies allow the key ARN; aws:PrincipalOrgID scales this to an Organization.
  • Envelope encryption is the universal pattern: GenerateDataKey for anything over the 4 KB Encrypt limit, with encryption context as auditable AAD that must match exactly on decrypt.
  • Rotation never re-encrypts existing data and retains old key material; imported key material cannot auto-rotate; multi-Region keys decrypt across Regions without re-encryption.
  • S3 Bucket Keys are the answer to KMS request costs and throttling under SSE-KMS; a bucket policy on s3:x-amz-server-side-encryption enforces the method and key.
  • Encrypt-existing means snapshot-copy for both EBS and RDS, and sharing an encrypted snapshot requires a customer managed key — the default aws/ebs key cannot be shared.
  • Disable a key and watch CloudTrail before scheduling deletion: the 7–30 day pending window is recoverable, but deletion makes every ciphertext under the key permanently unrecoverable.
How the exam tests this

Trigger phrases map straight to answers: 'reduce KMS request costs for S3' or SSE-KMS throttling means enable S3 Bucket Keys, 'key scheduled for deletion' scenarios reward disable-first discipline and CancelKeyDeletion within the 7–30 day window, and 'share an encrypted snapshot' requires a customer managed key because aws/ebs can never be shared. For any cross-account KMS question, verify both halves — key policy allowing the external account and external IAM allowing the key ARN — and for AccessDenied stems, check the key policy, grants, encryption context conditions, and any VPC endpoint policy before blaming IAM.

Protecting Secrets, Confidential Data, and Cryptographic Key Material

  • Secrets Manager earns its cost with rotation, resource-policy cross-account sharing, and multi-Region replication; Parameter Store SecureString is the free answer for encrypted configuration that never rotates.
  • Rotation is a four-step Lambda contract — createSecret, setSecret, testSecret, finishSecret — with AWSCURRENT/AWSPENDING/AWSPREVIOUS staging labels; managed rotators cover RDS, Redshift, and DocumentDB, custom Lambdas cover everything else.
  • Cross-account secret access always needs two grants: the secret's resource policy and the customer managed KMS key's policy — the default aws/secretsmanager key can never be shared.
  • Leaked credentials are remediated rotate-first, then migrated to Secrets Manager — moving a still-valid credential fixes nothing.
  • Macie automated discovery samples broadly and scores bucket sensitivity for org-wide PII hunts; scoped classification jobs scan exhaustively when you need a definitive answer for specific buckets.
  • Masking (CloudWatch Logs data protection, SNS message data protection) and tokenization are the answers when regulators require values never to appear — encryption alone is reversible by design.
  • The custody ladder trades operations for control: AWS-generated KMS material → imported BYOK material (your copy, your expiry, no auto-rotation) → CloudHSM-backed custom key stores → external key stores where material never enters AWS.
  • ACM-managed certificate private keys are non-exportable; take an exportable or Private CA-issued certificate and the private key's custody — storage, rotation, exposure — becomes yours.
How the exam tests this

SCS-C03 tests this task through custody trigger-words. "Regulator requires sole control of key material" or "key material must never reside in AWS" → CloudHSM-backed custom key store or external key store; "prove provenance but keep KMS integration" → imported key material with your own expiry. "Find PII across hundreds of buckets" → Macie automated sensitive data discovery, while "definitive scan of specific buckets" → a scoped classification job. "Application breaks after rotation" → cached credentials without re-fetch, and "cross-account AccessDenied on a secret" → check both the resource policy and the customer managed key policy; "data must never appear in logs or messages" → CloudWatch Logs data protection policies, SNS message data protection, or tokenization rather than encryption.

Security Foundations and Governance

14% of the exam

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

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

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

Secure IaC Deployment: CloudFormation, StackSets, and Service Catalog

  • IaC makes security consistent: templates are versioned, peer-reviewed security artifacts, and drift detection flags out-of-band changes — with CloudTrail supplying who made them.
  • Protect deployed security resources in layers: stack policies block risky updates, DeletionPolicy: Retain preserves log buckets and keys through stack deletion, and service roles scope who can deploy what.
  • "Every current and future account" → service-managed StackSets with automatic deployment targeting OUs; self-managed StackSets need an execution role hand-built in every target account.
  • Shift validation left: cfn-lint for template correctness, CloudFormation Guard rules for policy-as-code, cdk-nag for CDK, and reviewed change sets as the production approval gate.
  • Never put secrets in templates — NoEcho only masks display; the answer is dynamic references that resolve from Secrets Manager (with rotation) or SSM SecureString parameters at deploy time.
  • Service Catalog launch constraints let users launch approved products under a launch role without holding the underlying permissions; AWS RAM shares live resources like subnets across accounts; Firewall Manager centrally enforces WAF, security group, Shield, and Network Firewall policies.
  • Enforce tags at deploy time with tag policies and tagged baseline templates, backed by a detective required-tags Config rule.
  • Pipelines get least privilege: per-environment cross-account deploy roles, OIDC federation instead of stored keys, and approval gates on production change sets.
How the exam tests this

Task 6.2 scenarios hinge on matching the requirement's phrasing to the mechanism. "Deploy the security baseline to every current and future account" → service-managed StackSets with automatic deployment; "let teams launch approved stacks without holding the underlying permissions" → a Service Catalog launch constraint with a launch role; "secret visible in the template" → dynamic references to Secrets Manager or SSM SecureString, never NoEcho. Expect one troubleshooting item — a StackSet failing in a single account almost always means a missing or untrusted execution role, or an SCP capping it — and one validation item where CloudFormation Guard rules in the pipeline beat any after-the-fact detection.

Evaluating AWS Resource Compliance: Config, Security Hub, Audit Manager

  • AWS Config is the continuous technical-compliance engine: recorder produces configuration items, rules evaluate them (change-triggered or periodic), remediation configurations fix them.
  • A stopped recorder kills change-triggered rules and leaves unfillable gaps in the resource timeline; periodic rules keep running, so the breakage is easy to miss.
  • Auto-remediation = Config rule + SSM Automation runbook + AutomationAssumeRole; failures are almost always role permissions, manual-mode, or a missing rule-to-remediation association.
  • Conformance packs deploy framework-mapped rule sets org-wide with a per-pack compliance score; aggregators provide the single org-wide compliance view — individual-account sources must authorize it.
  • Security Hub standards (FSBP, CIS, PCI DSS) score posture as the percentage of passing controls; most controls are backed by Config rules, so Security Hub inherits Config's health.
  • Audit Manager collects and organizes evidence for YOUR audit (SOC 2, PCI, HIPAA assessments with daily evidence folders); Artifact downloads AWS's own reports — the provider side of shared responsibility.
  • Config answers 'what state is it in and was it compliant'; CloudTrail answers 'who did what, when' — state versus events, and the exam tests the distinction directly.
  • A compliance program maps each framework requirement to a detective control, an auto-remediation or ticket, and an evidence trail — continuous, not point-in-time.
How the exam tests this

Expect scenario stems built on trigger phrases. "Continuously evaluate and automatically fix noncompliant resources" points to a Config rule with an SSM Automation remediation; "single org-wide compliance view" or "same rules in every account" points to an aggregator plus organization conformance packs. "The auditor needs AWS's SOC 2 or PCI report" is AWS Artifact, while "collect and organize evidence for our SOC 2 audit" is Audit Manager — the exam deliberately pairs these as distractors for each other. Troubleshooting stems hinge on the stopped recorder (change-triggered rules go silent), a missing AutomationAssumeRole permission, or an unauthorized aggregator source account.

Facts fresh? Prove it.
Drill SCS-C03 practice questions with an explanation on every option.
Practice now

Where these SCS-C03 facts came from

SCS-C03 cheat sheet: your questions

Every key takeaway from all 16 SCS-C03 revision lessons — 125 facts — pulled onto one page and grouped by exam domain, with the exam pattern behind each topic. It is a compression of the notes, not a separate set of content, so it can never contradict them.