Upload de objetos para S3 privado não está funcionando

Após uma pesquisa extensa, não encontrei nenhum guia sobre como fazer upload de imagens para o S3 com ACL privada.

Estou enfrentando um comportamento estranho em que os backups funcionam, mas o upload de imagens não.

Consegui isolar o problema em uma configuração de ACL do bucket (comprovei que se trata da ACL, pois consigo fazer upload de arquivos usando o SDK sem especificar o parâmetro de ACL). Em alguns casos, a permissão “bloquear acesso público” está definida no nível da conta e não no nível do bucket, então desmarcar a caixa de seleção na configuração do bucket não resolve.

Percebi que o código de configuração de upload para o S3 foi atualizado e agora a ACL é definida com base em um parâmetro. Existe alguma maneira de passar essa configuração? discourse/lib/file_store/s3_store.rb at tests-passed · discourse/discourse · GitHub

1 curtida

Secure Uploads descreve como limitar uploads apenas para usuários logados. Talvez isso ajude?

2 curtidas

Tentei isso, as imagens são enviadas, mas recebo um erro 500 no painel sem nenhuma pista e sem logs.

@mahcr ,

Eu enfrento o mesmo problema. Consigo fazer backup, mas não consigo fazer upload de imagens devido a “O bucket não permite ACLs”.

Para o IAM, anexei a política AmazonS3FullAccess, mas ainda recebo o mesmo erro.

Você tem alguma solução?

1 curtida

Estou tendo o mesmo problema: o backup funciona, mas o upload não.

Este guia está desatualizado:

Este guia parece ser valioso para a parte de CDN, mas não é a solução completa:

Tive o mesmo problema. O upload de backup funciona, mas o upload de imagens mostra “O bucket não permite ACLs”
E foi corrigido modificando uma permissão no IAM e duas configurações no bucket

Primeiro, alterei o guia sobre a permissão do IAM de “s3:HeadBucket” para “s3:ListBucket” porque a Amazon disse que HeadBucket não é uma permissão válida

Então, segui o guia para que ficasse exatamente igual à página de permissão no bucket

Então, a parte mais importante, habilitar ACLs, é chamado de Editar Propriedade do Objeto na aba de permissão, com ACLs habilitadas e definidas como gravador de objeto, tudo ficou bem agora

Espero que minha experiência possa ajudar você

3 curtidas