Circa 10 minuti
Come caricare file su Amazon S3 e condividere link pubblici
Amazon S3 è lo storage a oggetti originale e funziona con il preset Amazon S3 di Aktar. L’unica parte che richiede attenzione è l’accesso pubblico: S3 lo blocca per impostazione predefinita, quindi devi aggiungere una bucket policy per la lettura pubblica oppure mettere CloudFront davanti al bucket.
Cosa ti serve
- Un account AWS
- Il permesso di creare bucket S3 e utenti IAM
- Aktar installata sul tuo Mac
Passo passo
- 1
Crea un bucket
Nella console S3, clicca Create bucket, scegli un nome univoco a livello globale e la regione più vicina a te, per esempio
eu-central-1. Puoi lasciare la proprietà degli oggetti predefinita "Bucket owner enforced": Aktar non usa le ACL. - 2
Consenti la lettura pubblica
Opzione A, bucket policy: nella scheda Permissions del bucket, disattiva le impostazioni "Block public access" che bloccano le bucket policy pubbliche, poi aggiungi questa bucket policy (sostituisci
YOUR-BUCKET):{ "Version": "2012-10-17", "Statement": [{ "Sid": "PublicRead", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::YOUR-BUCKET/*" }] }Opzione B, CloudFront: lascia il bucket privato e crea una distribuzione CloudFront con il bucket come origine (usando Origin Access Control). Così ottieni HTTPS su un dominio personalizzato e la cache.
- 3
Crea un utente IAM per Aktar
In IAM, crea un utente e associagli una policy che consenta solo quello che serve ad Aktar su quel bucket:
{ "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/*" } ] }Poi crea una access key per l’utente e copia l’Access Key ID e la Secret Access Key.
- 4
Aggiungi la destinazione in Aktar
In Impostazioni → Destinazioni → Aggiungi destinazione, scegli Amazon S3 e inserisci i valori qui sotto. L’endpoint e la regione devono corrispondere alla regione del bucket.
- 5
Verifica e salva
Clicca Verifica connessione per confermare che il bucket sia scrivibile e che l’URL pubblico distribuisca i file, poi Salva.
Impostazioni in Aktar
Inserisci questi valori in Impostazioni → Destinazioni → Aggiungi destinazione. I nomi dei campi corrispondono a quelli dell’app.
| Campo | Valore di esempio |
|---|---|
| Provider | Amazon S3 |
| Endpoint | https://s3.eu-central-1.amazonaws.comUsa la regione del tuo bucket. |
| Regione | eu-central-1 |
| ID chiave di accesso | AKIA…Dall’utente IAM. |
| Chiave di accesso segreta | •••••••• |
| Bucket | your-bucket |
| URL di base pubblico | your-bucket.s3.eu-central-1.amazonaws.comOppure il tuo dominio CloudFront. |
Suggerimenti
- Se condividi link pubblicamente, preferisci CloudFront con un dominio personalizzato: ottieni la cache e puoi lasciare privato il bucket stesso.
- Limita la policy IAM a un solo bucket. Ad Aktar non servono mai permessi sull’intero account.
- Scegli una regione vicina a te per caricamenti più veloci, e vicina al tuo pubblico se non usi una CDN.
- Per i caricamenti che si eliminano da soli, l’utente IAM ha bisogno anche di
s3:GetLifecycleConfigurationes3:PutLifecycleConfigurationsul bucket, oppure aggiungi tu le regole del ciclo di vita. Vedi caricamenti con scadenza.
Risoluzione dei problemi
Verifica connessione segnala un errore sulla regione o un redirect
L’endpoint e la regione devono corrispondere alla regione in cui è stato creato il bucket, per esempio https://s3.eu-central-1.amazonaws.com con eu-central-1.
I caricamenti non riescono con Access Denied
L’utente IAM ha bisogno di s3:PutObject su YOUR-BUCKET/* e di s3:ListBucket sul bucket stesso.
I link restituiscono 403
Manca la bucket policy, o è ancora bloccata da "Block public access", oppure CloudFront non riesce a leggere il bucket. Vedi errori Access Denied.
Sei ancora bloccato?Consulta le FAQ o chiedi su GitHub.