Erstellen eines S3 bucket-Richtlinie, die ermöglicht den Zugriff auf Cloudfront, sondern schränkt den Zugriff auf jemand anderes

Habe ich die folgende Richtlinie:

{
        "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 leugnen die Anforderungen von allen Interessenten, auch Cloudfront. Was ist der richtige Weg, dies zu tun?

Das problem ist, dass Objekte erstellt werden, die der Kunde mit öffentlichen Lesen. Ich derzeit nicht über die unmittelbare Kontrolle des client um diese Einstellung zu ändern. Also, was ich will, ist eine Politik, die anstelle einzelner Objekt-ACL. So default deny hier nicht funktioniert.

InformationsquelleAutor Snowman | 2014-03-26

Schreibe einen Kommentar