0
어제부터 S3 버킷 중 하나에 파일을 업로드하려고 할 때 액세스 거부 오류가 발생했습니다.S3 액세스가 거부되었습니다.
자바 스크립트 코드 :
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"
}
내가 지난 몇 시간 째 이렇게보고있어,하지만 난 정말 문제가 무엇인지 볼 수 없습니다. this 링크에 따르면 정책을 구성하는 올바른 방법이어야합니다. 그리고 어제는 괜찮 았어.
편집> 방금 "조치": "*"로 시도했지만 동일한 결과가 나타납니다.
분명히 이것이 범인입니다. ACL : 'public-read'. 이유는 모르겠지만, 내가 s3 : PutObjectACL을 부여하면. 내가 아는 한, 당신이 그렇게 할 수 있어야합니다. – Bjorn121