S3 访问被拒绝
S3 Access Denied
从昨天开始,当我尝试将文件上传到我的 S3 存储桶之一时,我一直收到拒绝访问错误。
Javascript代码:
var pass = new stream.PassThrough();
var contentType = (input.fileName.endsWith('.html') ? 'text/html' : 'text/javascript');
var params = {
Bucket: 'BUCKET_NAME',
Key: input.fileName,
Body: pass,
ACL: 'public-read',
ContentType: contentType
};
S3.upload(params, function(err, data) {
if (err) {
console.error('Error while uploading file: ' + err + '. Uploading file ' + params.Key + ' to Bucket ' + params.Bucket + '.');
throw err
}
});
return pass;
我最初的想法是这是因为 IAM 政策,虽然我没有改变任何东西并且它以前有效。
IAM 政策:
{
"Action": [
"s3:PutObject",
"s3:PubObjectACL"
],
"Resource": [
"arn:aws:s3:::BUCKET_NAME/*"
],
"Effect": "Allow"
}
过去几个小时我一直盯着这个看,但我真的看不出问题出在哪里。根据thislink,应该是配置策略的正确方式。昨天效果很好。
编辑>
我刚刚尝试 "Action" : "*" 并且我得到了相同的结果。
这很尴尬...
没有正确阅读政策,PubObjectACL 的名称不正确,PutObjectACL 是。
从昨天开始,当我尝试将文件上传到我的 S3 存储桶之一时,我一直收到拒绝访问错误。
Javascript代码:
var pass = new stream.PassThrough();
var contentType = (input.fileName.endsWith('.html') ? 'text/html' : 'text/javascript');
var params = {
Bucket: 'BUCKET_NAME',
Key: input.fileName,
Body: pass,
ACL: 'public-read',
ContentType: contentType
};
S3.upload(params, function(err, data) {
if (err) {
console.error('Error while uploading file: ' + err + '. Uploading file ' + params.Key + ' to Bucket ' + params.Bucket + '.');
throw err
}
});
return pass;
我最初的想法是这是因为 IAM 政策,虽然我没有改变任何东西并且它以前有效。
IAM 政策:
{
"Action": [
"s3:PutObject",
"s3:PubObjectACL"
],
"Resource": [
"arn:aws:s3:::BUCKET_NAME/*"
],
"Effect": "Allow"
}
过去几个小时我一直盯着这个看,但我真的看不出问题出在哪里。根据thislink,应该是配置策略的正确方式。昨天效果很好。
编辑> 我刚刚尝试 "Action" : "*" 并且我得到了相同的结果。
这很尴尬...
没有正确阅读政策,PubObjectACL 的名称不正确,PutObjectACL 是。