30 september 2026 · 6 min. leestijd
Zo maak je een Amazon S3-bucket openbaar
Nieuwe S3-buckets blokkeren alle openbare toegang en ACL's staan standaard uit, dus de oude knop „openbaar maken” per object doet niets meer. Openbaar lezen regel je tegenwoordig met een bucket policy.
Stap 1: sta openbare bucket policies toe
- Open de bucket in de S3-console en ga naar het tabblad Permissions.
- Kies onder Block public access (bucket settings) voor Edit.
- Vink de twee instellingen over bucket and access point policies uit. De twee ACL-instellingen kun je aan laten, want de policy gebruikt geen ACL's.
- Sla op en bevestig.
Staat de instelling ook op accountniveau aan (Block Public Access settings for this account in de zijbalk van S3), dan gaat die voor op de bucketinstelling en moet ook die policies toestaan.
Stap 2: voeg een bucket policy voor openbaar lezen toe
Bewerk, nog steeds onder Permissions, de Bucket policy en plak dit, met je eigen bucketnaam:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicRead",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::your-bucket/*"
}
]
}
Dit staat het lezen van objecten toe, niet het opvragen van de bucketinhoud. Wil je maar één map openbaar maken, beperk dan de resource, bijvoorbeeld arn:aws:s3:::your-bucket/public/*.
Met de AWS CLI zien dezelfde twee stappen er zo uit:
aws s3api put-public-access-block --bucket your-bucket \
--public-access-block-configuration \
BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=false,RestrictPublicBuckets=false
aws s3api put-bucket-policy --bucket your-bucket --policy file://policy.jsonStap 3: vind de openbare URL
Objecten zijn nu beschikbaar op de virtual-hosted URL:
https://your-bucket.s3.eu-central-1.amazonaws.com/2026/09/report.pdf
Gebruik de regio van je bucket. Geeft dit adres AccessDenied, dan blokkeren de Block Public Access-instellingen de policy nog, of zit er een typfout in de bucketnaam in de policy.
Het veiligere alternatief: CloudFront met een privébucket
Wil je de bucket zelf liever niet openzetten, laat Block Public Access dan aan en maak een CloudFront-distributie met de bucket als origin en Origin access control (OAC). CloudFront toont je de bucket policy waarmee alleen de distributie objecten mag lezen. Zo krijg je HTTPS op je eigen domein, caching en een bucket die privé blijft. Zie eigen domeinen voor bucketlinks.
Veelgestelde vragen
Waarom werkt „Make public using ACL” niet meer?
Sinds april 2023 hebben nieuwe buckets Object Ownership ingesteld op Bucket owner enforced, waardoor ACL's uitgeschakeld zijn. Openbare toegang moet nu via een bucket policy of CloudFront.
Kunnen mensen bij een openbare bucket mijn bestanden opvragen?
Niet met de policy hierboven. Die staat alleen s3:GetObject toe. Voor een overzicht van de bucketinhoud is s3:ListBucket op de bucket zelf nodig, en dat moet je niet openbaar toestaan.
Wordt mijn AWS-rekening hoger door een openbare bucket?
Je betaalt voor verzoeken en uitgaand dataverkeer als mensen bestanden downloaden. Voor veelgedeelde bestanden is CloudFront of een provider zonder egresskosten, zoals Cloudflare R2, meestal goedkoper.