错误 策略中的主体无效?

Jag*_*esh 7 amazon-s3 amazon-web-services amazon-cloudfront

这是我的存储桶策略。我在以下策略中收到错误“策略中的主体无效”错误。为什么会这样?政策有什么问题吗?

{
    "Version": "2008-10-17",
    "Id": "PolicyForCloudFrontPrivateContent",
    "Statement": [
        {
            "Sid": "1",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity AJDNXHS78E5DD4DF41FD5"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::my_bucket/*"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

Han*_*akr 7

我遇到了同样的问题,最后发现我使用了错误的访问身份字符串,您可以从云前端部分的原始访问身份选项卡获取正确的身份

您还可以使用 CanonicalUser 作为选项。

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html


sud*_*udo -1

此“arn:aws:iam::cloudfront:user/CloudFront 源访问身份 AJDNXHS78E5DD4DF41FD5”不是有效的 ARN,例如对于 IAM 用户,格式应为“arn:aws:iam::account-id:user/user-name” ,不知道为什么你使用cloudfront而不是帐号。看起来您正在尝试向 cloudfron 原始身份授予权限,请使用此处提到的示例策略: http ://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html

  • 这些看起来与大多数 ARN 不同,但它们是有效的 CloudFront 源访问身份 ARN。有关示例,请参阅 https://aws.amazon.com/premiumsupport/knowledge-center/cloudfront-access-to-amazon-s3/。 (2认同)