我目前正在尝试在现有S3存储桶上实施Cloudfront上传(POST / PUT方法)。
我的Cloudfront发行版似乎配置得很好。 我正在使用Cloudfront签名的URL在S3存储桶中上传我的文件。它工作正常。 上传文件后,我可以使用Cloudfront签名网址访问它们。这也很好。
但我发现我无法使用AWS凭据(access_key_id& secret_key)访问上传的文件(通过Cloudfront)。 每次,我试试这个,我收到一个AccessDenied错误代码。
我觉得S3存储桶策略的配置中缺少某些内容。 这是我目前的S3存储桶策略:
{
"Version": "2008-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity XXXXXXXXXXXX",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::XXXXX-XXXXXX-XXXX/*"
}
]
}
我是否遗漏了某些东西或者这是不可能的?
答案 0 :(得分:1)
我曾经遇到过同样的问题。
尝试添加标题" x-amz-acl = bucket-owner-full-control "上传请求,应该做的伎俩。
希望它有所帮助!