- Newest
- Most votes
- Most comments
hi,
you are right looks like directory bucket can't be public "Directory buckets have all S3 Block Public Access settings enabled by default"
this is AWS Doc says for Directory Buckets.
"Directory buckets have all S3 Block Public Access settings enabled by default at the bucket level. S3 Object Ownership is set to bucket owner enforced and access control lists (ACLs) are disabled. These settings can't be modified."
https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html
Best,
You can still make your objects publicly accessible even after initially setting up your bucket with "Block all public access" enabled and "Bucket owner enforced" object ownership. You don't need to destroy the bucket and start over.
Here's how to make your objects publicly accessible:
- First, you need to modify the Block Public Access settings for your bucket:
- Go to the S3 console and navigate to your bucket
- Click on the "Permissions" tab
- Find the "Block public access" section and click "Edit"
- Uncheck "Block all public access" (you may need to uncheck all four individual settings)
- Save the changes
- After disabling Block Public Access, you can make your objects public by either:
Option A: Adding a bucket policy that grants public read access:
- In the "Permissions" tab, go to "Bucket policy"
- Add a policy similar to this (replace YOUR_BUCKET_NAME with your actual bucket name):
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::YOUR_BUCKET_NAME/*"
}
]
}
Note that even with "Bucket owner enforced" object ownership (which disables ACLs), you can still make objects public using bucket policies. The bucket policy approach is actually the recommended way to grant public access rather than using ACLs.
Remember that making S3 objects public is not recommended for most use cases due to security concerns. Consider if there are alternative approaches that might better suit your needs, such as using pre-signed URLs for temporary access.
Sources
Setting permissions for website access - Amazon Simple Storage Service
Is my bucket publicly accessible? | AWS re:Post
How to make bucket or objects public? | AWS re:Post
Access control in Amazon S3 - Amazon Simple Storage Service
Blocking public access to your Amazon S3 storage - Amazon Simple Storage Service

Unfortunately, Step 1 in these instructions seems to be based on a false premise. On the permissions tab for my bucket, the Block public access settings say "These settings can't be edited".