Я работаю в финансовом учреждении, и по соображениям безопасности мой работодатель не может выдать access key id
и access key secret
на учетную запись AWS. Это означает, что я не могу использовать aws-sdk.Загрузить файл на Amazon S3 с помощью HTTP PUT
В качестве следующего варианта можно ли загружать файлы с использованием HTTP PUT в общедоступный ведро S3 без использования AWS-SDK, для которого требуются access key id
и access key secret
?
Я посмотрел на этот ответ: 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');
});
Может ли это работать?
* по соображениям безопасности мой работодатель не может выдать идентификатор ключа доступа и ключ в тайне доступа к учетной записи AWS. * Стоп. Это серьезная ошибочная предпосылка. Отсутствует ключ (ключ)/секретный ключ (один). Вы можете создать столько ключей и сопутствующих секретов, сколько вам нужно, каждый со своими индивидуальными разрешениями. Вы также можете делегировать разрешения на ключи, принадлежащие другим учетным записям AWS. Использование общедоступного ведра не имеет смысла. –