代码之家  ›  专栏  ›  技术社区  ›  eComEvo

CloudFront分发版显示访问被拒绝,但策略直接来自AWS文档

  •  0
  • eComEvo  · 技术社区  · 2 年前

    我为我的bucket设置了以下权限:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "AllowCloudFrontServicePrincipalReadOnly",
                "Effect": "Allow",
                "Principal": {
                     "Service": "cloudfront.amazonaws.com"
                },
                "Action": "s3:GetObject",
                "Resource": "arn:aws:s3:::bucket-name-here/*",
                "Condition": {
                    "StringEquals": {
                        "AWS:SourceArn": "arn:aws:cloudfront::123456789:distribution/ASDFASDFASDF"
                    }
                }
            }
        ]
    }
    

    这个水桶政策直接来自 AWS docs .

    我已启用CF分发,并且 SourceArn 完全匹配。但是,每次访问尝试都会拒绝访问。

    我能够让CF显示S3存储桶中托管的文件的唯一方法是将存储桶设置为public并添加此策略,但这是我不想保留的安全风险:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "AddPerm",
                "Effect": "Allow",
                "Principal": "*",
                "Action": "s3:GetObject",
                "Resource": "arn:aws:s3:::bucket-name-here/*"
            }
        ]
    }
    

    这里可能出了什么问题?

    0 回复  |  直到 2 年前