SCS-C02 Data Protection Practice Question
A company is migrating sensitive data to Amazon S3. The data must be encrypted at rest using keys managed by the company. The company also requires an audit trail of key usage. Which solution meets these requirements?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Use SSE-KMS with a customer-managed key and enable CloudTrail for KMS.
SSE-KMS with a customer-managed key and CloudTrail for KMS. This solution meets both requirements: the company manages its own keys (customer-managed CMK) and CloudTrail logs every KMS API call, providing an audit trail of key usage. Option A (SSE-S3) uses Amazon-managed keys, so no customer control or audit trail. Option B (SSE-C) requires the customer to manage keys themselves but does not integrate with CloudTrail for key usage auditing; also, storing keys in Secrets Manager does not provide an audit trail of KMS key usage. Option D (CloudHSM) can be used, but it requires more complex setup for auditing; SSE-KMS with CloudTrail is the simpler and more direct solution.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Use SSE-S3 with default encryption.
Why it's wrong here
SSE-S3 with default encryption encrypts objects with a single AWS-managed key that Amazon S3 fully controls, so there is no way to split key custodianship between your security team and the service. Because the key is not visible or configurable by you, CloudTrail cannot log key usage events for each GetObject/PutObject call, leaving no audit trail of when your sensitive data was decrypted. Additionally, SSE-S3 offers no support for key rotation scheduling or the ability to deny access by disabling a key, making it unsuitable for compliance-driven migrations of sensitive data.
- ✗
Use SSE-C and store the keys in AWS Secrets Manager.
Why it's wrong here
SSE-C requires you to supply the encryption key in each S3 API request and, although S3 performs the encryption, it does not log which key was used to decrypt an object, so even if the keys are stored in AWS Secrets Manager, you get no key-usage audit trail for S3 accesses. Secrets Manager can manage and rotate the keys, but SSE-C has no built-in integration with CloudTrail to record key identifiers or access patterns, which is typically mandatory for sensitive data audits. Moreover, you must manage key material delivery in every SDK call, and if the secret is rotated, all existing S3 objects encrypted with the old key would need re-encryption, creating serious operational risk.
- ✓
Use SSE-KMS with a customer-managed key and enable CloudTrail for KMS.
Why this is correct
SSE-KMS with a customer-managed key gives you independent control over the CMK, including the ability to set key policies, grant and revoke permissions, and force rotation. With CloudTrail for KMS enabled, every Decrypt, GenerateDataKey, and ReEncrypt request against that key is recorded with the user, role, and principal ARN, directly tying each S3 object access to an auditable event. Customer-managed keys also let you align the key with your own governance model, and because the key is in KMS, you can use key policies to enforce conditions (such as VPC endpoints or MFA) and can respond to a breach by disabling the key to instantly block all future decrypt operations.
- ✗
Use AWS CloudHSM to generate and store keys, and use Amazon S3 with SSE-KMS.
Why it's wrong here
AWS CloudHSM generates and stores keys in hardware, but S3 itself cannot use those keys directly for SSE-KMS, so you would still need to generate a KMS key or import the HSM key into KMS, making CloudHSM an unnecessary intermediate layer. Even if you integrate CloudHSM with KMS via a custom key store, you are still using SSE-KMS under the hood, and the resulting audit trail is fragmented between CloudHSM logs and CloudTrail KMS events rather than being centralized. Furthermore, CloudHSM adds significant operational overhead (managing HSM clusters, backups, and high availability) without improving the S3 encryption workflow, so it is not a simpler or more secure replacement for the native SSE-KMS approach.
Quick reference
AWS S3 Storage Class Comparison
| Storage Class | Min Duration | Retrieval | Use Case |
|---|---|---|---|
| S3 Standard | None | Immediate | Frequently accessed data |
| S3 Standard-IA | 30 days | Immediate | Infrequent access, rapid retrieval |
| S3 One Zone-IA | 30 days | Immediate | Non-critical infrequent data |
| S3 Intelligent-Tiering | None | Immediate–hours | Unknown or changing access patterns |
| S3 Glacier Instant | 90 days | Milliseconds | Archive with instant retrieval |
| S3 Glacier Flexible | 90 days | Minutes–hours | Archive, flexible retrieval |
| S3 Glacier Deep Archive | 180 days | Hours | Long-term compliance archive |
Go deeper
Related to this question
About these practice questions
This SCS-C02 question is part of Courseiva's 1,205-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This SCS-C02 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SCS-C02 exam.