AWS Certified Solutions Architect – Associate (SAA-C03) — Question 401
An image-hosting company stores its objects in Amazon S3 buckets. The company wants to avoid accidental exposure of the objects in the S3 buckets to the public. All S3 objects in the entire AWS account need to remain private.
Which solution will meet these requirements?
Answer options
- A. Use Amazon GuardDuty to monitor S3 bucket policies. Create an automatic remediation action rule that uses an AWS Lambda function to remediate any change that makes the objects public.
- B. Use AWS Trusted Advisor to find publicly accessible S3 buckets. Configure email notifications in Trusted Advisor when a change is detected. Manually change the S3 bucket policy if it allows public access.
- C. Use AWS Resource Access Manager to find publicly accessible S3 buckets. Use Amazon Simple Notification Service (Amazon SNS) to invoke an AWS Lambda function when a change is detected. Deploy a Lambda function that programmatically remediates the change.
- D. Use the S3 Block Public Access feature on the account level. Use AWS Organizations to create a service control policy (SCP) that prevents IAM users from changing the setting. Apply the SCP to the account.
Correct answer: D
Explanation
Configuring S3 Block Public Access at the AWS account level ensures that no S3 buckets within the account can be made public, while using an AWS Organizations SCP prevents IAM users from disabling this protection. Other options like Amazon GuardDuty, AWS Trusted Advisor, or AWS Resource Access Manager do not offer preventative enforcement at the account level and rely on reactive detection or manual intervention, which fails to guarantee immediate and absolute prevention of accidental exposure.