Courseiva
Security and CompliancemediumMultiple ChoiceObjective-mapped

SOA-C02 Security and Compliance Practice Question

A company is using AWS Organizations with multiple accounts. The security team wants to ensure that all S3 buckets across all accounts have encryption enabled. What is the most efficient way to enforce this policy?

⚠ Common exam trap

A common mix-up: candidates confuse SCPs with IAM policies, assuming that IAM policies in each account are sufficient, but SCPs provide centralized, unoverridable enforcement across all accounts in an organization.

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

Apply a service control policy (SCP) to the root organizational unit that denies S3 actions without encryption.

A service control policy (SCP) applied to the root organizational unit in AWS Organizations can centrally enforce encryption requirements for all S3 buckets across every member account. By denying S3 actions (such as s3:PutObject) unless the request includes encryption parameters (e.g., x-amz-server-side-encryption), the SCP acts as a guardrail that cannot be overridden by account-level IAM policies, ensuring compliance without per-account configuration.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Apply a service control policy (SCP) to the root organizational unit that denies S3 actions without encryption.

    Why this is correct

    Applying an SCP at the root organizational unit is the correct centralized method because SCPs act as guardrails that restrict the maximum permissions available to all IAM principals in every account under that OU, including the account root user. An SCP can, for example, use a condition like `s3:x-amz-server-side-encryption` or `aws:SecureTransport` to deny `s3:PutObject` calls that do not include encryption parameters, and because SCPs cannot be overridden by individual account administrators, this enforces encryption uniformly across the entire organization.

  • Configure an IAM role in the master account to enforce encryption via cross-account access.

    Why it's wrong here

    An IAM role in the master account does not enforce encryption; it only grants temporary credentials for cross-account access. To enforce anything, you would need to attach an IAM policy with a condition to that role, and the role would only affect users or services that explicitly assume it, not all actions across all member accounts. This approach is not a preventive control for the organization as a whole because it relies on principals choosing to use the role and does not apply to service principals or account root users.

  • Create an IAM policy in each account that denies s3:PutObject without encryption.

    Why it's wrong here

    Creating an IAM policy in each account is not a centralized guardrail because AWS Organizations does not propagate IAM policies across accounts; each account administrator would need to manually create and attach identical policies in every account. Moreover, IAM policies are identity-based and only apply to the IAM principals (users, roles, or groups) in that specific account, leaving out service-to-service actions, root users, and future accounts added to the organization. This method also creates inconsistency and maintenance overhead, and it does not prevent a misconfigured or newly onboarded account from bypassing encryption requirements.

  • Use AWS CloudFormation StackSets to deploy a bucket policy to each account.

    Why it's wrong here

    CloudFormation StackSets can deploy resources like bucket policies across accounts, but bucket policies are resource-based and only affect the specific S3 buckets they are attached to; they do not govern all S3 actions or all buckets in the account, especially buckets created outside of the StackSet template. StackSets also require you to define and continuously update the template whenever a new bucket is created, and there is no assurance that non-compliant buckets won't be created before the policy is applied. An SCP is superior because it is a preventive, organization-wide control that does not depend on per-resource configuration.

Quick reference

AWS S3 Storage Class Comparison

Storage ClassMin DurationRetrievalUse Case
S3 StandardNoneImmediateFrequently accessed data
S3 Standard-IA30 daysImmediateInfrequent access, rapid retrieval
S3 One Zone-IA30 daysImmediateNon-critical infrequent data
S3 Intelligent-TieringNoneImmediate–hoursUnknown or changing access patterns
S3 Glacier Instant90 daysMillisecondsArchive with instant retrieval
S3 Glacier Flexible90 daysMinutes–hoursArchive, flexible retrieval
S3 Glacier Deep Archive180 daysHoursLong-term compliance archive

About these practice questions

Courseiva writes every SOA-C02 question from scratch — 247 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This SOA-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 SOA-C02 exam.