Ich habe die folgende Politik:Erstellen einer Schaufel S3 Richtlinie, die den Zugriff auf Cloudfront ermöglicht, aber den Zugriff auf alle anderen
{
"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/*"
}
]
}
Dies ist jedoch verweigert Anforderungen von allen Anforderern, auch Cloudfront. Was ist der richtige Weg, dies zu tun?
Das Problem besteht darin, dass Objekte vom Client mit öffentlichem Lesevorgang erstellt werden. Ich habe momentan keine direkte Kontrolle über den Client, um diese Einstellung zu ändern. Was ich also möchte, ist eine Richtlinie, die die individuelle Objekt-ACL außer Kraft setzt. So Standard verweigert hier funktioniert nicht.
Ich habe bereits versucht "Bucket Access beschränken" - hat nicht funktioniert. – Snowman
Ich hatte das gleiche Problem. Die AWS-Manpages sind schrecklich zu lesen. Für mich habe ich nach dem Hinzufügen einer Identität die Registerkarte "Origins" und die "Yes, Update Bucket Policy" vermisst. –
Ich habe das gleiche Problem hier: https://stackoverflow.com/questions/47805797/aws-cloudfront-generate-s3-policy-but-still-receive-accessdenied –