DOP-C02 Security and Compliance Practice Question
A company uses AWS Organizations to manage multiple accounts. The security team wants to enforce that all S3 buckets across all accounts are encrypted with AWS KMS. Which approach should be used to ensure compliance?
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
✓
Attach a service control policy (SCP) to all accounts that denies s3:PutBucketEncryption or s3:PutObject without encryption.
A service control policy (SCP) attached to all accounts in the organization can deny the s3:PutBucketEncryption and s3:PutObject actions without encryption, enforcing KMS encryption across all S3 buckets. Option B is incorrect because bucket policies are applied per-bucket and cannot be centrally enforced across all accounts. Option C is incorrect because IAM policies in the master account do not affect member accounts. Option D is incorrect because AWS Config rules are detective, not preventive; while they can trigger remediation, the question asks for an approach to ensure compliance, and SCP provides preventive enforcement.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Attach a service control policy (SCP) to all accounts that denies s3:PutBucketEncryption or s3:PutObject without encryption.
Why this is correct
A service control policy (SCP) attached at the organization root or to all accounts is the only option that gives central, preventive enforcement across every member account. By explicitly denying s3:PutBucketEncryption and s3:PutObject when encryption is not specified (using conditions like s3:x-amz-server-side-encryption), the SCP blocks the API actions themselves before any resource policy or IAM evaluation, so no account or workload can bypass the requirement. This works even if a member account administrator has full administrative permissions, because SCPs act as a permission boundary for all IAM principals in the account.
- ✗
Apply an S3 bucket policy on each account's buckets to deny unencrypted object uploads.
Why it's wrong here
While an S3 bucket policy with a Deny effect for s3:PutObject without encryption can protect a specific bucket, it must be manually attached to every bucket in every account. This approach does not scale across an organization: S3 bucket policies are resource-based and scoped to a single bucket, so there is no way to apply them centrally from AWS Organizations. Additionally, if a new bucket is created without the policy, it is immediately non-compliant, and the policy may be accidentally removed by bucket owners, making this a fragmented and error-prone control.
- ✗
Create an IAM policy in the master account that denies S3:PutObject without encryption.
Why it's wrong here
IAM policies in the management (master) account are only effective for principals in that same account; they are never inherited by users, roles, or resources in member accounts of an AWS Organization. An IAM policy denying s3:PutObject without encryption would therefore have zero effect on workloads running in other accounts, which is the core requirement of the scenario. This misconception often arises because organization administrators think of the master account as a central control point, but IAM policies operate only within the account where they are created.
- ✗
Use AWS Config rules to evaluate S3 bucket encryption and trigger a remediation action via AWS Systems Manager Automation.
Why it's wrong here
AWS Config rules that detect unencrypted S3 buckets or objects and trigger SSM Automation remediation are inherently reactive. They rely on periodic evaluations or configuration change notifications, meaning there is a window during which non-compliant resources exist and can be accessed. Furthermore, this approach does not block the initial write action; it only corrects the bucket or object after the fact, and remediation can fail due to permission issues or incorrect Automation documents, so it cannot guarantee that unencrypted data is never written.
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
One of 1,013 original DOP-C02 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DOP-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 DOP-C02 exam.