我在一家金融机构工作,出于安全原因,我的雇主不能给出来的access key id
和access key secret
到AWS账户。这意味着我不能使用aws-sdk。上传文件到Amazon S3 PUT
作为下一个选项,是否可以使用HTTP PUT将文件上传到公共S3存储桶而无需使用需要access key id
和access key secret
的AWS-SDK?
我看了一下这个答案:How to upload a file using a rest client for node
,并认为这做法:
var request = require('request');
var options = {
method: 'PUT',
preambleCRLF: true,
postambleCRLF: true,
uri: 'https://s3-ap-southeast-2.amazonaws.com/my-bucket/myFile.pdf',
multipart: [
{
'content-type': 'application/pdf'
body: fs.createReadStream('/uploads/uploaded-file.pdf')
}
]
}
request(options, function(err, response, body){
if(err){
return console.log(err);
}
console.log('File uploaded to s3');
});
莫非这项工作?
*出于安全原因,我的雇主不能发出访问密钥ID和访问密钥秘密的AWS账户。*停止。这是一个严重缺陷的前提。没有“(单个)”访问密钥/秘密。您可以根据需要创建尽可能多的密钥和伴随的秘密,每个秘密都有自己的个人权限。您还可以将权限委托给其他AWS账户拥有的密钥。使用可公开写入的存储桶是没有意义的。 –