Después de realizar una investigación exhaustiva, no he encontrado ninguna guía para subir imágenes a S3 con una ACL privada.
Estoy experimentando un comportamiento extraño donde las copias de seguridad funcionan, pero la carga de imágenes no.
He reducido el problema a un problema con la ACL del bucket (he demostrado que el problema es la ACL, ya que puedo subir archivos usando el SDK sin especificar la bandera ACL). En algunos casos, el permiso “bloquear acceso público” está configurado a nivel de cuenta y no a nivel de bucket, por lo que desactivar la casilla en la configuración del bucket no funcionará.
Tengo el mismo problema. La carga de copias de seguridad funciona, pero la carga de imágenes muestra “El bucket no permite ACL”.
Y se solucionó modificando un permiso en IAM y dos configuraciones en el bucket.
Primero cambié la guía sobre el permiso IAM de “s3:HeadBucket” a “s3:ListBucket” porque Amazon dijo que HeadBucket no es un permiso válido.
Luego, la parte más importante, habilitar las ACL, se llama Editar Propiedad del Objeto en la pestaña de permisos, con las ACL habilitadas y configuradas como escritor de objetos, todo funciona bien ahora.