Caricare oggetti su S3 privato non funziona

Dopo aver condotto un’ampia ricerca, non ho trovato nessuna guida per caricare immagini su S3 con ACL privata.

Sto riscontrando un comportamento strano in cui i backup funzionano, ma il caricamento delle immagini no.

Ho individuato il problema in una configurazione errata dell’ACL del bucket (ho dimostrato che il problema è l’ACL, dato che riesco a caricare file utilizzando l’SDK senza specificare il flag ACL). In alcuni casi, l’autorizzazione “blocca l’accesso pubblico” è impostata a livello di account e non a livello di bucket, quindi disattivare la casella di controllo nella configurazione del bucket non funziona.

Ho notato che il codice di configurazione per il caricamento su S3 è stato aggiornato e ora l’ACL viene impostata in base a un parametro: esiste un modo per passare tale configurazione? discourse/lib/file_store/s3_store.rb at tests-passed · discourse/discourse · GitHub

1 Mi Piace

Secure Uploads descrive come limitare i caricamenti agli utenti registrati. Forse questo può essere d’aiuto?

2 Mi Piace

Ho provato, le immagini vengono caricate, ma nel dashboard ricevo un errore 500 senza alcun indizio e senza log.

@mahcr,

Affronto lo stesso problema. Posso eseguire il backup ma non caricare immagini a causa di “Il bucket non consente ACL”.

Per IAM, ho allegato la policy AmazonS3FullAccess, ma ancora lo stesso errore.

Hai qualche soluzione?

1 Mi Piace

Ho lo stesso problema: il backup funziona ma l’upload no.

Questa guida è obsoleta:

Questa guida sembra essere preziosa per la parte CDN, ma non è la soluzione completa:

Ho riscontrato lo stesso problema. Il caricamento del backup funziona, ma il caricamento delle immagini mostra “Il bucket non consente ACL”.
E si è risolto modificando un’autorizzazione in IAM e due impostazioni nel bucket.

Per prima cosa ho modificato la guida sull’autorizzazione IAM da “s3:HeadBucket” a “s3:ListBucket” perché Amazon ha detto che HeadBucket non è un’autorizzazione valida.

Quindi ho seguito la guida esattamente come nella pagina delle autorizzazioni nel bucket.

Quindi la parte più importante, abilita le ACL, si chiama Edit Object Ownership nella scheda permission, con le ACL abilitate e impostate su object writer, tutto funziona bene ora.

Spero che la mia esperienza possa esserti d’aiuto.

3 Mi Piace