Erstellen einer S3-Bucket-Richtlinie, die den Zugriff auf Cloudfront ermöglicht, jedoch den Zugriff auf andere Personen einschränkt

Ich habe die folgenden Richtlinien:

{
        "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 lehnt jedoch Anforderungen von allen Anforderern ab, auch von Cloudfront. Was ist der richtige Weg, um dies zu tun?

Das Problem ist, dass Objekte vom Client mit öffentlichem Lesezugriff erstellt werden. Ich habe derzeit keine unmittelbare Kontrolle über den Client, um diese Einstellung zu ändern. Ich möchte also eine Richtlinie, die einzelne Objekt-ACL überschreibt. DamitStandard verweigern hier funktioniert nicht.