Le téléchargement d'objets vers S3 privé ne fonctionne pas

Après avoir mené de vastes recherches, je n’ai trouvé aucun guide pour télécharger des images vers S3 avec un ACL privé.

Je rencontre un comportement étrange où les sauvegardes fonctionnent, mais pas le téléchargement d’images.

J’ai circonscrit le problème à un souci d’ACL du bucket (j’ai prouvé que le problème venait de l’ACL, car je parviens à télécharger des fichiers via le SDK sans spécifier le drapeau ACL). Dans certains cas, la permission « bloquer l’accès public » est définie au niveau du compte et non du bucket, de sorte que la désactivation de la case dans la configuration du bucket ne fonctionne pas.

J’ai remarqué que le code de configuration de téléchargement S3 avait été mis à jour et que l’ACL est désormais définie en fonction d’un paramètre. Existe-t-il un moyen de transmettre cette configuration ? discourse/lib/file_store/s3_store.rb at tests-passed · discourse/discourse · GitHub

1 « J'aime »

Secure Uploads explique comment limiter les téléchargements aux utilisateurs connectés. Cela pourrait peut-être vous aider ?

2 « J'aime »

J’ai essayé cela, les images sont bien téléchargées, mais j’obtiens une erreur 500 dans le tableau de bord sans aucune indication ni journal.

@mahcr,

Je rencontre le même problème. Je peux faire une sauvegarde mais je ne peux pas téléverser d’image en raison de « The bucket does not allow ACLs » (Le compartiment n’autorise pas les ACL).

Pour IAM, j’ai attaché la politique AmazonS3FullAccess, mais j’ai toujours la même erreur.

Avez-vous une solution ?

1 « J'aime »

J’ai le même problème : la sauvegarde fonctionne mais le téléversement non.

Ce guide est obsolète :

Ce guide semble précieux pour la partie CDN, mais n’est pas la solution complète :

J’ai le même problème. Le téléchargement de sauvegarde fonctionne, mais le téléchargement d’images affiche « Le compartiment n’autorise pas les ACL ».
Et cela a été résolu en modifiant une permission dans IAM et deux paramètres dans le compartiment.

J’ai d’abord modifié le guide concernant la permission IAM de « s3:HeadBucket » à « s3:ListBucket » car Amazon a déclaré que HeadBucket n’est pas une permission valide.

Ensuite, j’ai suivi le guide pour qu’il soit exactement identique à la page de permission dans le compartiment.

Ensuite, la partie la plus importante, activer les ACL, cela s’appelle Edit Object Ownership dans l’onglet permission, avec les ACL activées et définies sur object writer, tout fonctionne bien maintenant.

J’espère que mon expérience pourra vous aider.

3 « J'aime »