Je kunt bestanden uit Amazon S3 delen zonder de bucket ooit openbaar te maken. Houd hem privé, laat Block Public Access aan staan en geef mensen in plaats daarvan ondertekende toegang tot specifieke objecten: een presigned URL voor een los bestand, CloudFront signed URLs als je al een CDN voor de bucket hebt draaien, of een deellink die een wachtwoord, een vervaldatum en een downloadlimiet toevoegt. Alle drie werken op dezelfde manier bij S3-compatibele providers zoals Cloudflare R2, DigitalOcean Spaces, Wasabi en Backblaze B2 (CloudFront bestaat alleen bij AWS).
Opties om S3-bestanden veilig te delen in één oogopslag
| Methode | Het beste voor | Wachtwoord | Downloadlimiet | Eén link intrekken | Hele mappen | Code nodig |
|---|---|---|---|---|---|---|
| Openbaar object of bucket | Echt openbare bestanden (een website) | Nee | Nee | Nee | Ja | Nee |
| Presigned URL | Eén bestand, één keer, via CLI of je app | Nee | Nee | Nee | Nee | CLI of SDK |
| CloudFront signed URL | Apps die gebruikers al authenticeren | Nee | Nee | Nee | Met signed cookies | Ja |
| Nubbo-deellink | Regelmatig delen met mensen van buiten | Ja | Ja | Ja | Ja, met ZIP | Nee |
Waarom het bestand niet gewoon openbaar maken
De snelste manier om een bestand uit S3 te delen is het openbaar maken en de object-URL versturen. Het is ook de riskantste: alles wat openbaar is, kan worden opgehaald door iedereen die het adres vindt of raadt, zonder wachtwoord, zonder vervaldatum en zonder registratie van wie het heeft gedownload. Vergeten openbare buckets zijn een klassieke bron van datalekken, en ze tonen zowel bestandsnamen als inhoud.
AWS stelt dat nieuwe buckets, access points en objecten standaard geen openbare toegang toestaan. Daarbovenop heeft S3 Block Public Access vier instellingen (BlockPublicAcls, IgnorePublicAcls, BlockPublicPolicy en RestrictPublicBuckets) die boven elk beleid of elke ACL gaan die de bucket later zou openzetten. Ze kunnen per bucket, per account of voor een hele AWS Organization worden ingesteld, en S3 past de strengste combinatie toe. AWS raadt aan alle vier op accountniveau aan te zetten, tenzij je echt openbare inhoud host, zoals een statische website.
Laat die schakelaar aan. Alles hieronder werkt terwijl hij aan staat.
Optie 1: presigned URLs
Een presigned URL is een object-URL met een handtekening in de querystring. Hij staat één bewerking (meestal een download) op één object toe tot hij verloopt, en S3 controleert de handtekening bij elk verzoek.
aws s3 presign s3://my-bucket/reports/q3.pdf --expires-in 86400
Die URL werkt 24 uur. De standaard van de CLI is één uur en het maximum is 604.800 seconden (7 dagen) als je ondertekent met de sleutels van een IAM-gebruiker. Onderteken je met tijdelijke inloggegevens, zoals een aangenomen rol, dan vervalt de URL zodra die inloggegevens verlopen.
Wat je krijgt:
- Geen wijziging aan de bucket of het beleid.
- Precieze controle: één object, één methode, één vervaldatum.
- Werkt bij elke provider die SigV4-presigning ondersteunt.
Wat je niet krijgt:
- Geen wachtwoord. Wie de URL heeft, kan hem gebruiken, zo vaak als hij wil, tot hij verloopt.
- Geen downloadlimiet en geen intrekking per link. Je kunt een URL alleen vroegtijdig ongeldig maken door de sleutels in te trekken waarmee hij is ondertekend.
- Geen mappen. Je ondertekent object voor object, dus een map met 300 bestanden delen betekent 300 URLs.
- Geen privacy van namen. De URL toont je bucketnaam, de objectsleutel en je access key ID.
Voor de werking in detail, inclusief uploads, elke X-Amz-*-parameter en SDK-code, zie S3 presigned URLs uitgelegd.
Optie 2: CloudFront signed URLs en signed cookies
Bied je de bucket al aan via Amazon CloudFront, dan kun je signed URLs of signed cookies verplicht stellen op een cache behavior. De bucket blijft privé achter origin access control (OAC), dat AWS aanraadt boven de oudere origin access identity: een bucketbeleid laat alleen je distributie de objecten lezen. Je registreert publieke sleutels in een trusted key group en ondertekent met de bijbehorende privésleutel.
- Signed URLs passen bij losse bestanden. Met een custom policy kun je ook een starttijd en een IP-bereik instellen, en met wildcards één beleid hergebruiken voor veel bestanden. Ze kunnen kortlevend zijn of jaren geldig blijven.
- Signed cookies passen bij veel bestanden tegelijk, zoals elk segment van een video, zonder je URLs te wijzigen.
Dit is het juiste middel als je een applicatie draait die gebruikers al authenticeert en op grote schaal inhoud aanbiedt. Om een paar bestanden aan mensen buiten je team te geven, betekent het een distributie opzetten, sleutels beheren en code schrijven die elk verzoek ondertekent.
Een bucketbeleid beperken tot een vast IP-bereik is nog een ingebouwde optie, maar dat helpt alleen als je de netwerken van de ontvangers kent, wat bij mensen buiten je organisatie zelden zo is.
Optie 3: deellinks met Nubbo
Nubbo verbindt met je bucket en geeft je deellinks met de controles die presigned URLs missen, zonder code te schrijven. Onder de motorkap gebruikt het nog steeds presigned URLs: Nubbo controleert eerst de regels van de link en geeft pas daarna een kortlevende URL uit, dus losse bestanden gaan rechtstreeks van je bucket naar de browser van de ontvanger.
Stap 1: verbind je bucket
Meld je gratis aan, bevestig je e-mailadres, open dan Buckets en klik op Bucket koppelen. De wizard vraagt naar je provider (Amazon S3, Cloudflare R2, DigitalOcean Spaces, Wasabi, Backblaze B2 of een aangepast S3-compatibel endpoint), de verbindingswijze (een automatische installatie met een sleutel met volledige toegang, of een sleutel die tot één bucket is beperkt), je sleutel en je bucket. Hij controleert de sleutel en de bucket, en test tot slot CORS met een echte upload vanuit je browser. De bucket blijft privé en je sleutels worden versleuteld opgeslagen met AES-256-GCM. Het Gratis-abonnement bevat 2 verbindingen.
Stap 2: kies het bestand of de map
Zoek het item in de verkenner en kies Delen. Je kunt ook naar de pagina Gedeeld gaan, op Nieuwe link klikken en daar de bucket en het bestand of de map kiezen.
Stap 3: stel de beveiliging in
Alle drie de controles zijn optioneel en beschikbaar in elk abonnement:
| Controle | Hoe het werkt |
|---|---|
| Wachtwoord | 4 tot 50 tekens. Na 10 foute pogingen wordt de link 15 minuten geblokkeerd. |
| Vervaldatum | Standaard uit: de link blijft actief zolang het bestand of de map in je opslag staat. |
| Max. downloads | Leeg betekent onbeperkt. Is het aantal bereikt, dan levert de link het bestand niet meer. |
Stap 4: maak en verstuur de link
Klik op Link maken, kopieer de link en verstuur hem per e-mail, chat of wat je maar gebruikt. De ontvanger opent een overzichtelijke downloadpagina en heeft geen account nodig. Met een maplink kan hij door de map bladeren, losse bestanden downloaden of alles als ZIP meenemen, dat zijn browser opbouwt door elk bestand rechtstreeks uit je bucket te downloaden.
Stap 5: verstuur het wachtwoord apart
Het wachtwoord in hetzelfde bericht als de link versturen ondermijnt het hele idee. Heeft de link een wachtwoord, dan bezorgt Wachtwoord versturen per e-mail het als een eenmalige onthullingslink: het wachtwoord wordt één keer getoond, de onthullingslink verloopt na 24 uur, 3 dagen of 7 dagen en je kunt een korte notitie toevoegen. Je krijgt een melding zodra hij wordt geopend.
Stap 6: volg en trek in
De pagina Gedeeld toont elke link met zijn status en het aantal downloads. Je kunt het wachtwoord, de vervaldatum of de limiet wijzigen, een link deactiveren (hij geeft dan meteen geen nieuwe download-URLs meer uit) en hem later weer openen met hetzelfde adres.
Delen met specifieke personen in plaats van een link
Een link werkt voor iedereen die hem heeft. Wil je dat alleen bepaalde mensen erin kunnen, dan stuurt Delen met mensen van Nubbo (in de abonnementen Personal en Pro) een bestand of map naar specifieke e-mailadressen met kijk- of downloadrechten, een optionele vervaldatum en een downloadlimiet, en registreert elke toegang. De ontvangers hebben een Nubbo-account nodig en vinden het item onder Met mij gedeeld. Personal staat 10 personen per item en 50 actieve deelacties toe; Pro 50 en 500.
Betaalde abonnementen bieden ook versleutelde links: de browser maakt een verzegelde kopie van het bestand en de sleutel reist alleen mee in de link zelf, zodat Nubbo hem niet kan lezen.
Welke optie moet je gebruiken?
- Eén bestand, één keer, en je hebt de AWS CLI ingesteld: een presigned URL is de snelste weg.
- Een applicatie die gebruikers al laat inloggen en veel inhoud aanbiedt: CloudFront signed URLs of cookies.
- Regelmatig delen met mensen buiten je team, hele mappen of alles wat een wachtwoord of limiet nodig heeft: een deellink bespaart tijd en fouten.
Verder dan één link
Twee verwante functies dekken de andere veelvoorkomende gevallen. Inboxen geven je een openbare uploadlink, zodat mensen bestanden naar je bucket kunnen sturen zonder er verder iets in te zien. Galerijen maken van een map met foto’s of video’s een pagina om door te bladeren, met lay-outs, een watermerk en een eigen wachtwoord. Met het Gratis-abonnement krijg je er van elk 3 en onbeperkte deellinks; Personal en Pro heffen die limieten op. Eén eerlijke kanttekening: miniaturen worden op de server van Nubbo gemaakt en in je eigen bucket opgeslagen onder .nubbo-thumbs/.
Veelgestelde vragen
Hoe deel ik een bestand uit S3 zonder het openbaar te maken?
Houd de bucket privé en geef in plaats daarvan ondertekende toegang: een presigned URL voor één object (via de AWS CLI of een SDK), een CloudFront signed URL of cookie als je de bucket al via CloudFront aanbiedt, of een deellink uit een tool zoals Nubbo die bovenop presigned URLs een wachtwoord, een vervaldatum en een downloadlimiet toevoegt.
Is Amazon S3 veilig om bestanden te delen?
Ja, zolang de bucket privé blijft. Nieuwe buckets staan standaard geen openbare toegang toe en S3 Block Public Access voorkomt dat iemand ze later openzet. Het risico zit in objecten openbaar maken of in uitgelekte ondertekende links, die werken voor iedereen die ze heeft tot ze verlopen.
Zijn nieuwe S3-buckets standaard privé?
Ja. AWS stelt dat nieuwe buckets, access points en objecten standaard geen openbare toegang toestaan, en de vier instellingen van Block Public Access gaan boven elk beleid of elke ACL die ze later zou openzetten.
Heeft de ontvanger een AWS- of Nubbo-account nodig?
Nee. Een presigned URL, een CloudFront signed URL en een Nubbo-deellink werken allemaal in elke browser zonder account. Alleen Delen met mensen, dat een item naar specifieke personen stuurt, vereist dat zij een Nubbo-account hebben.
Hoe lang kan een gedeelde S3-link geldig blijven?
Een presigned URL is maximaal 7 dagen geldig als je ondertekent met de sleutels van een IAM-gebruiker, en korter met tijdelijke inloggegevens. CloudFront signed URLs blijven zo lang geldig als je beleid aangeeft. Een Nubbo-deellink verloopt niet tenzij je een vervaldatum instelt, omdat hij bij elke download een nieuwe kortlevende URL uitgeeft.
Gaan bestanden via Nubbo als iemand een gedeelde link downloadt?
Nee: de browser downloadt losse bestanden rechtstreeks uit je bucket met een presigned URL. ZIP-downloads met meerdere bestanden worden in de browser samengesteld, die elk bestand rechtstreeks uit je bucket downloadt: Nubbo ziet de inhoud nooit.
Bronnen
Prijzen en limieten komen van de officiële pagina's hieronder. Providers passen ze aan, dus controleer ze voordat je een keuze maakt.
- Amazon S3: openbare toegang tot je opslag blokkeren
- Amazon S3: objecten downloaden en uploaden met presigned URLs
- AWS CLI-referentie: s3 presign
- Amazon CloudFront: toegang tot een Amazon S3-origin beperken (OAC)
- Amazon CloudFront: signed URLs gebruiken
- Amazon CloudFront: kiezen tussen signed URLs en signed cookies