Comment puis-je définir un compartiment dans Amazon S3 afin que tous les fichiers soient publiquement en lecture seule par défaut?
Comment puis-je définir un compartiment dans Amazon S3 afin que tous les fichiers soient publiquement en lecture seule par défaut?
Réponses:
Vous pouvez définir une politique de compartiment comme détaillé dans cet article de blog:
http://ariejan.net/2010/12/24/public-readable-amazon-s3-bucket-policy/
Selon la suggestion de @ robbyt, créez une stratégie de compartiment avec le JSON suivant:
{
"Version": "2008-10-17",
"Statement": [{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": { "AWS": "*" },
"Action": ["s3:GetObject"],
"Resource": ["arn:aws:s3:::bucket/*" ]
}]
}
Important : remplacez bucket
dans la Resource
ligne le nom de votre seau.
arn:aws:s3:::bucket
, vous devez également l'ajouter à la Resource
baie. (Donc, sans le /*
.) J'espère que cela aide les autres qui luttent avec ça comme moi.
sync
, et pas seulement d'afficher le seau.
List
privilèges Everyone
dans la section Propriétés> Autorisations du compartiment.
"2017-11-16",
Amazon fournit un outil générateur de stratégie:
https://awspolicygen.s3.amazonaws.com/policygen.html
Après cela, vous pouvez entrer les exigences de stratégie pour le compartiment sur la console AWS:
aws s3 sync ./local-folder-name s3://remote-bucket-name --acl=public-read