A developer has created an S3 bucket policy that grants public read access. The security team wants to prevent any S3 bucket from becoming public. Which AWS service can enforce this restriction across all accounts?
SCPs can deny actions across all accounts in an organization.
Why this answer
A service control policy (SCP) is the correct choice because it operates at the AWS Organizations level to centrally restrict permissions across all accounts. By creating an SCP that denies the s3:PutBucketPolicy action, you prevent any account in the organization from modifying bucket policies to grant public access, regardless of individual account settings. This enforces a guardrail that cannot be overridden by account administrators.
Exam trap
The trap here is that candidates often confuse preventive controls (like SCPs) with detective controls (like CloudTrail) or assume that S3 Block Public Access settings applied per account are sufficient for centralized enforcement, but SCPs are the only service that can enforce restrictions across all accounts in an organization from a single point.
How to eliminate wrong answers
Option A is wrong because AWS CloudTrail with a metric filter only monitors and alerts on API calls (e.g., s3:PutBucketPolicy) but does not prevent the action from occurring; it is a detective control, not a preventive one. Option B is wrong because S3 Block Public Access settings must be configured on each account individually and can be disabled by account administrators, so they do not enforce a restriction across all accounts from a central point. Option D is wrong because IAM permissions boundaries limit the maximum permissions for IAM users or roles but do not apply to the root user or to service-linked roles, and they cannot prevent bucket policy changes made by an account administrator with full control.