La création d'un compartiment S3 politique qui permet l'accès à Cloudfront mais limite l'accès à quelqu'un d'autre
J'ai la politique suivante:
{
"Version": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
{
"Sid": "Stmt1395852960432",
"Action": "s3:*",
"Effect": "Deny",
"Resource": "arn:aws:s3:::my-bucket/*",
"Principal": {
"AWS": [
"*"
]
}
},
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity E1IYJC432545JN"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket/*"
}
]
}
Cependant, c'est de refuser les demandes de tous les demandeurs, même Cloudfront. Quelle est la bonne façon de le faire?
Le problème est que les objets sont créés par le client avec le service public de la lecture. J'ai actuellement n'ont pas de contrôle direct du client pour modifier ce paramètre. Donc, ce que je veux, c'est avoir une politique qui remplace objet ACL. Donc par défaut refuser ici ne fonctionne pas.
OriginalL'auteur Snowman | 2014-03-26
Vous devez vous connecter pour publier un commentaire.
Le S3 politique ressemblera à quelque chose comme ceci:
Mais, je n'ai pas générer manuellement. Lorsque vous ajoutez une origine (S3) dans cloudfront, vous avez une option de "Restreindre Seau d'Accès" - dire "Oui" ici et aller de l'avant. Cloudfront configuration fera le reste automatiquement pour vous.
Plus de détails ici: À l'aide d'une Origine de l'Accès à l'Identité de Restreindre l'Accès à Votre Amazon S3 Contenu Amazon CloudFront.
J'ai eu le même problème. AWS pages de man sont terrible à lire. Pour moi j'ai raté le
Origins
onglet et leYes, Update Bucket Policy
après l'ajout d'une Identité.J'ai le même problème ici: stackoverflow.com/questions/47805797/...
OriginalL'auteur Sony Kadavan
C'est ce que vous cherchez. Remplacer XXXXXXXXXXXXXX avec vous l'origine code d'accès
OriginalL'auteur Panagiotis Sakellariou