无法将文件上载到S3,访问被拒绝



我正在运行一个EC2实例(具有获得AmazonS3FullAccess的IAM角色(,现在我在其中运行一个nodejs服务器,并试图将文件上传到s3 bucket(公共访问(,但获得access Denied 403错误。由于EC2获得了S3访问权限,因此没有在节点中提供accessKey/secrethttps://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/loading-node-credentials-iam.html

const AWS = require('aws-sdk');
const s3 = new AWS.S3();
const params = {
Bucket: 'sample_name', // pass your bucket name
Key: 'filename',
Body: "<p>Hey</p>",
ContentDisposition: 'inline',
ContentType: 'text/html',
};
s3.upload(params, function (s3Err, data) {
if(s3Err) throw s3Err;
console.log(data)
})

有人能帮我一下吗?提前感谢

转到您的bucket权限,检查那里是否有权限。如果没有,那么添加这些,它可能会起作用!

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl",
"s3:GetObject",
"s3:GetObjectAcl",
"s3:DeleteObject"
],
"Resource": [
"arn:aws:s3:::bucket_name",
"arn:aws:s3:::bucket_name/*"
]
}
]
}

最新更新