How to Make an S3 Bucket Public on AWS (Step-by-Step for Beginners)
Learn how to make your AWS S3 bucket or files publicly accessible using bucket policies, ACLs, and AWS CLI—safely and securely, with best practices.

Amazon S3 (Simple Storage Service) is one of the most popular cloud storage solutions. Whether you're hosting static websites, sharing media files, or distributing software packages, there are times when making your S3 bucket public is necessary. But how do you do it without compromising security? Let’s walk through it step-by-step.
Why Make an S3 Bucket Public? Common Use Cases?
S3 allows you to store and retrieve any amount of data, from anywhere, at any time. Public access is useful when you want your files to be openly downloadable—no credentials needed. Use cases include:
- Hosting a static website
- Sharing public documentation
- Providing downloadable files like media, zip archives, or datasets
Important: Be cautious—public access means anyone on the internet can view or download those files.
How to Make Your S3 Bucket Public
There are two primary ways to make files in your S3 bucket publicly accessible:
1. Use a Bucket Policy for Full Public Access
This method grants public access to all objects within a bucket.
Example Policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mybucket/*"
}
]
}
- What it does: Allows anyone to perform
s3:GetObject(i.e., download files). - How to apply it:
aws s3api put-bucket-policy --bucket mybucket --policy file://public-read-policy.json
- When to use: Great for hosting full public websites or making all files downloadable.
For a deeper dive into IAM policies, visit AWS IAM Policies.
2. Use ACLs for Single File Access
You can make just one file public without exposing the whole bucket.
Example:
aws s3api put-object-acl --bucket mybucket --key myfile.zip --acl public-read
- What it does: Grants public read access to just
myfile.zip. - When to use: When you only want to share select files and keep others private.
For more details on managing ACLs, see AWS ACL Documentation.
What Can You Do with Public S3 Access?
Making files public isn’t just convenient—it can power your apps and workflows:
- Static Websites: Serve HTML/CSS/JS directly from S3.
- Public Downloads: Let users grab resources without signing in.
- Media Hosting: Share images, videos, or documents in a lightweight, scalable way.
Looking for an easy way to manage your static websites? Check out Amazon S3 Static Website Hosting.
Security Tips Before You Go Public
Before making your S3 bucket public, keep these tips in mind:
- Security: Double-check that no sensitive data is exposed.
- Use the right method: Policies for full-bucket access, ACLs for individual files.
- Monitor usage: Enable access logs and CloudTrail to audit activity.
Learn more about monitoring with AWS CloudTrail Logs.
Final Thoughts: Public Access with Precision
Making your S3 bucket (or objects) public can unlock powerful use cases—from hosting content to sharing files freely. Just remember:
- Use bucket policies for broad access
- Use ACLs for targeted, file-specific access
- Monitor and audit access to stay secure
With just a few AWS CLI commands, your content can go live in minutes—safely and intentionally.
Looking to scale your infrastructure seamlessly? Supercharge your containerized workloads by adding AWS EKS clusters with Nife.io!
Tired of complex, time-consuming deployments? Nife.io makes it effortless with One-Click Deployment—so you can launch applications instantly, without the hassle.
Deploy on Nife
Ready to deploy? Check out the Nife documentation:
From the team at Nife
Deploy your next app in minutes, not days.
Nife is a multi-cloud edge platform that lets you deploy, scale, and manage applications globally without the infrastructure headache.