【问题标题】:AWS CloudFront programmatic access results in AccessDenied with no explanationAWS CloudFront 编程访问导致 AccessDenied 没有解释
【发布时间】:2021-07-03 00:44:34
【问题描述】:

我正在按照本指南here 使用 cloudfront cdn 在 aws s3 上设置一个静态 nuxtjs 站点。

指南的每一步都已成功。我可以从 url 访问我网站的测试图像。但是,获取对 CloudFront 分配的编程访问指南的最后一步是给我以下错误:

我已验证针对程序化用户的政策是准确的:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::bucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:DeleteObject",
                "s3:ListMultipartUploadParts",
                "s3:AbortMultipartUpload"
            ],
            "Resource": [
                "arn:aws:s3:::bucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "cloudfront:CreateInvalidation",
                "cloudfront:GetInvalidation",
                "cloudfront:ListInvalidations",
                "cloudfront:UnknownOperation"
            ],
            "Resource": "*"
        }
    ]
}

为什么我会被拒绝访问?我什至尝试为 CloudFront/S3 开放对 * 的操作,但仍然被拒绝。我已验证我的密钥/访问密钥也与策略用户匹配。

有什么方法可以让我获得更具体的错误消息,说明出了什么问题?

更新:错误似乎发生在 gulpfile 中的以下操作之一期间:

g = g.pipe(cloudfront(config));

// create a cache file to speed up consecutive uploads
g = g.pipe(publisher.cache());

// print upload updates to console
g = g.pipe(awspublish.reporter());

我想我会梳理 aws 发布者插件来寻找它们。也许指南已经过时并且忘记了许可。

【问题讨论】:

    标签: amazon-web-services amazon-s3 gulp nuxt.js amazon-cloudfront


    【解决方案1】:

    解决了。 NuxtJS 指南所依赖的 CDN/S3 创建指南让您创建了一个私有存储桶,但其 gulpfile 中的设置用于公共读取存储桶。

    要解决此错误,您只需添加:

    'x-amz-acl': 'private'
    

    到您的 gulpfile 中的标题。

    编辑:我还要说这篇文章对另一篇文章的依赖是造成混乱的根源。另一篇文章用于设置私有存储桶,其内容可以像 CDN 一样通过 CloudFront 访问。但我发现只使用存储桶特定选项来托管静态站点(使其公开)更容易。

    【讨论】:

      猜你喜欢
      • 2016-12-21
      • 1970-01-01
      • 2021-12-06
      • 2016-02-05
      • 2021-06-26
      • 2021-08-12
      • 1970-01-01
      • 1970-01-01
      • 2018-07-29
      相关资源
      最近更新 更多