Ongeveer 10 minuten
Zo upload je bestanden naar Amazon S3 en deel je openbare links
Amazon S3 is de oorspronkelijke objectopslag en werkt met de voorinstelling Amazon S3 van Aktar. Het enige onderdeel dat aandacht vraagt, is openbare toegang: S3 blokkeert die standaard, dus je voegt een bucketbeleid voor openbare leestoegang toe of zet CloudFront voor de bucket.
Wat je nodig hebt
- Een AWS-account
- Rechten om S3-buckets en IAM-gebruikers aan te maken
- Aktar geïnstalleerd op je Mac
Stap voor stap
- 1
Maak een bucket
Klik in de S3-console op Create bucket, kies een wereldwijd unieke naam en de regio die het dichtst bij je ligt, bijvoorbeeld
eu-central-1. Je kunt het standaard objecteigendom "Bucket owner enforced" laten staan: Aktar gebruikt geen ACL’s. - 2
Sta openbare leestoegang toe
Optie A, bucketbeleid: zet op het tabblad Permissions van de bucket de instellingen van "Block public access" uit die openbare bucketbeleidsregels blokkeren, en voeg dan dit bucketbeleid toe (vervang
YOUR-BUCKET):{ "Version": "2012-10-17", "Statement": [{ "Sid": "PublicRead", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::YOUR-BUCKET/*" }] }Optie B, CloudFront: houd de bucket privé en maak een CloudFront-distributie met de bucket als origin (met Origin Access Control). Zo krijg je HTTPS op een eigen domein en caching.
- 3
Maak een IAM-gebruiker voor Aktar
Maak in IAM een gebruiker en koppel een beleid dat alleen toestaat wat Aktar op die bucket nodig heeft:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::YOUR-BUCKET" }, { "Effect": "Allow", "Action": ["s3:PutObject", "s3:GetObject", "s3:DeleteObject"], "Resource": "arn:aws:s3:::YOUR-BUCKET/*" } ] }Maak daarna een access key voor de gebruiker en kopieer de Access Key ID en de Secret Access Key.
- 4
Voeg de bestemming toe in Aktar
Ga naar Instellingen → Bestemmingen → Voeg bestemming toe, kies Amazon S3 en vul de waarden hieronder in. Het endpoint en de regio moeten overeenkomen met de regio van de bucket.
- 5
Test en bewaar
Klik op Test verbinding om te bevestigen dat de bucket beschrijfbaar is en de openbare URL bestanden serveert, en daarna op Bewaar.
Instellingen in Aktar
Vul deze waarden in bij Instellingen → Bestemmingen → Voeg bestemming toe. De veldnamen komen overeen met de app.
| Veld | Voorbeeldwaarde |
|---|---|
| Provider | Amazon S3 |
| Endpoint | https://s3.eu-central-1.amazonaws.comGebruik de regio van je bucket. |
| Regio | eu-central-1 |
| Access Key ID | AKIA…Van de IAM-gebruiker. |
| Secret Access Key | •••••••• |
| Bucket | your-bucket |
| Openbare basis-URL | your-bucket.s3.eu-central-1.amazonaws.comOf je CloudFront-domein. |
Tips
- Kies liever CloudFront met een eigen domein als je links openbaar deelt: je krijgt caching en de bucket zelf kan privé blijven.
- Beperk het IAM-beleid tot één bucket. Aktar heeft nooit rechten voor het hele account nodig.
- Kies een regio dicht bij je voor snellere uploads, en dicht bij je publiek als je geen CDN gebruikt.
- Voor uploads die zichzelf verwijderen, heeft de IAM-gebruiker ook
s3:GetLifecycleConfigurationens3:PutLifecycleConfigurationop de bucket nodig, of je voegt de levenscyclusregels zelf toe. Zie verlopende uploads.
Problemen oplossen
Test verbinding meldt een fout over de regio of een omleiding
Het endpoint en de regio moeten overeenkomen met de regio waarin de bucket is aangemaakt, bijvoorbeeld https://s3.eu-central-1.amazonaws.com met eu-central-1.
Uploads mislukken met Access Denied
De IAM-gebruiker heeft s3:PutObject nodig op YOUR-BUCKET/* en s3:ListBucket op de bucket zelf.
Links geven 403
Het bucketbeleid ontbreekt of wordt nog geblokkeerd door "Block public access", of CloudFront kan de bucket niet lezen. Zie Access Denied-fouten.
Kom je er nog niet uit?Bekijk de FAQ of stel je vraag op GitHub.