Home / cybersecurity / AWS Certified Security - Specialty (SCS-C03) / Cheat Sheet
AWS Certified Security - Specialty (SCS-C03)

SCS-C03 Cheat Sheet

SCS-C03 Tests Layered, Organization-Wide Security Controls — Not Single-Service Trivia

SCS-C03 replaced SCS-C02 on 2 December 2025. Aimed at security engineers who protect multi-account AWS estates, it rewards answers that scope controls organization-wide and preserve evidence before acting.

Check Your Readiness →
Among the harder certs
Avg: Not published by Amazon Web Services
Pass: 750 / 1000
Most candidates understand AWS Certified Security - Specialty (SCS-C03) concepts — and still fail. This exam tests how you apply knowledge under pressure.

SCS-C03 Domain Map

Several answers usually work; the winner covers every account at the right layer with the least overhead. IAM items show JSON policies and multi-policy evaluation. The guide also lists ordering and matching items, while the certification page mentions only multiple choice and multiple response.

  1. 01
    Detection (16%) — CloudTrail management vs. data events, GuardDuty, Security Hub, Security Lake, Resolver query logs
  2. 02
    Incident Response (14%) — isolation, evidence capture order, Detective, Systems Manager Automation, readiness testing
  3. 03
    Infrastructure Security (18%) — security groups, NACLs, Network Firewall, WAF, Verified Access, Session Manager, Inspector
  4. 04
    Identity and Access Management (20%) — policy evaluation, boundaries, SCPs and RCPs, Identity Center, Cognito, Roles Anywhere
  5. 05
    Data Protection (18%) — KMS key custody, imported material, Object Lock modes, Secrets Manager, Backup Vault Lock
  6. 06
    Security Foundations and Governance (14%) — Organizations policies, preventive vs. detective vs. proactive controls, evidence

Wrong instinct vs correct approach

A SaaS vendor needs a role in your account to read monitoring data
✕ Wrong instinct

Trust the vendor's AWS account in the role with no conditions

✓ Correct approach

Require sts:ExternalId in the trust policy condition to block the confused deputy problem, where another vendor customer tricks the vendor into using your role. Grant only the read permissions the integration needs.

Contractors need browser access to one internal application, checked against identity and device posture
✕ Wrong instinct

Issue them Client VPN profiles

✓ Correct approach

Client VPN grants network-level access to whole subnets. AWS Verified Access evaluates identity and device signals per request for a specific application, with no VPN client, which matches least privilege.

An SSE-KMS bucket still returns AccessDenied to a partner role after the bucket policy was updated
✕ Wrong instinct

Add more S3 actions to the bucket policy

✓ Correct approach

Cross-account reads of SSE-KMS objects need three allows: the bucket policy, the caller's IAM policy, and the KMS key policy granting kms:Decrypt to that role. Fixing only the bucket side leaves the key blocking access.

Admins need shell access to private instances without opening any inbound ports
✕ Wrong instinct

Deploy a hardened bastion host allowing SSH from the office

✓ Correct approach

Session Manager connects through the SSM Agent over outbound HTTPS, needs no inbound ports or SSH keys, and logs sessions to CloudWatch Logs or S3. Add VPC interface endpoints for instances without internet access.

A GuardDuty finding shows an EC2 instance mining cryptocurrency
✕ Wrong instinct

Run Amazon Inspector to find the running miner

✓ Correct approach

Inspector finds CVEs and network exposure, not runtime threats. GuardDuty already detected it; route the finding through EventBridge to an automated isolation runbook, then use Amazon Detective to scope related activity.

Know these cold

  • ▸ Explicit deny anywhere wins; then an allow is required; boundaries, SCPs and RCPs never grant
  • ▸ SCPs restrict principals in your accounts; RCPs restrict access to your resources, including external callers
  • ▸ GuardDuty detects, Security Hub aggregates and scores, Detective investigates, Macie classifies S3 data
  • ▸ On compromise — solate, capture memory, snapshot volumes, investigate; terminate last, if at all
  • ▸ Direct Connect is unencrypted by default; Site-to-Site VPN encrypts traffic with IPsec
  • ▸ SSE-S3 has no key policy or per-use key audit trail; SSE-KMS logs key use in CloudTrail
  • ▸ Object Lock governance can be bypassed with permission; compliance mode cannot be shortened by anyone
  • ▸ Workforce identities belong in IAM Identity Center; customer app users belong in Amazon Cognito
  • ▸ On-premises workloads use IAM Roles Anywhere for temporary credentials, never stored IAM user keys
  • ▸ VPC endpoints change the network path; they do not satisfy an encryption-in-transit requirement

Can you answer these without checking your notes?

In this scenario: "A SaaS vendor needs a role in your account to read monitoring data" — what should you do first?
Require sts:ExternalId in the trust policy condition to block the confused deputy problem, where another vendor customer tricks the vendor into using your role. Grant only the read permissions the integration needs.
In this scenario: "Contractors need browser access to one internal application, checked against identity and device posture" — what should you do first?
Client VPN grants network-level access to whole subnets. AWS Verified Access evaluates identity and device signals per request for a specific application, with no VPN client, which matches least privilege.
In this scenario: "An SSE-KMS bucket still returns AccessDenied to a partner role after the bucket policy was updated" — what should you do first?
Cross-account reads of SSE-KMS objects need three allows: the bucket policy, the caller's IAM policy, and the KMS key policy granting kms:Decrypt to that role. Fixing only the bucket side leaves the key blocking access.

Common Exam Mistakes — What candidates get wrong

Terminating a compromised EC2 instance as the first response

Termination destroys memory and possibly volumes. Move the instance into a dedicated isolation security group rather than editing a shared one, capture memory, snapshot EBS volumes, tag it, then investigate from a forensic account instead of logging in.

Expecting the default CloudTrail trail to show who downloaded S3 objects

GetObject is a data event and is not logged by default. Enable S3 data events on an organization trail or in CloudTrail Lake. Likewise, VPC Flow Logs never show domain names; Route 53 Resolver query logs do.

Treating a permission boundary or SCP as something that grants access

Identity and resource policies grant. Permission boundaries, SCPs, RCPs and session policies only filter. An explicit deny anywhere wins, so attaching AdministratorAccess never fixes an access denied caused by an SCP or boundary.

Using Object Lock governance mode for regulatory retention records

Users with s3:BypassGovernanceRetention can shorten or remove governance-mode locks. Compliance mode is strict WORM: nobody, including the root user, can delete the locked version before retention ends. Backup Vault Lock gives similar protection for AWS Backup recovery points.

Planning automatic rotation for a KMS key with imported material

Automatic scheduled rotation applies to keys with AWS-generated material. With imported material you own rotation planning and durability, since material can expire or be deleted. External key stores keep material outside AWS; CloudHSM gives single-tenant control.

Resources to help you pass AWS Security - Specialty on your first attempt

SCS-C03 rewards organization-wide controls and evidence-first response. Test whether your instincts match.