Interview AWS

Explain S3 bucket policies versus IAM policies versus ACLs.

AWS · Basic level

Answer

S3 bucket policies are resource policies, IAM policies are identity policies, and ACLs are older object/bucket grants. I avoid ACLs in modern designs and use bucket owner enforced ownership, Block Public Access, IAM, and bucket policies.

Technical explanation

Disabling ACLs with bucket owner enforced ownership reduces confusing access paths.

S3 security should start with Block Public Access, least-privilege IAM/bucket policies, encryption, ownership controls, and CloudTrail or S3 data-event visibility for sensitive buckets.

Cost management depends on lifecycle policies, storage classes, version retention, object size, retrieval fees, and access patterns.

Operationally, validate bucket policies, KMS permissions, lifecycle effects, and restore behavior before applying broad production changes.

Hands-on example

1. Create a non-production bucket with Block Public Access, bucket owner enforced object ownership, default encryption, and scoped IAM access.

2. Add a policy control relevant to the question, such as deny non-TLS, require SSE-KMS, or restrict access to a VPC endpoint.

3. Enable versioning or lifecycle where relevant, upload test objects, and verify transitions, deletes, restores, and access-denied behavior.

4. Review Access Analyzer, Config, CloudTrail, and Storage Lens before applying the pattern to production.

Preparing for an interview?

Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.

More AWS interview questions

← All AWS questions