Используя Node.js SDK для IBM Cloud Object Storage, я могу успешно создавать новые объекты с параметром public-read
ACL.
var params = {Bucket: 'bucket', Key: 'key', Body: stream, ACL: 'public-read`};
s3.upload(params, function(err, data) {
console.log(err, data);
});
Доступ к файлам возможен без аутентификации после загрузки.
Однако после загрузки файла попытка обновить разрешения ACL для преобразования файла private
в public-read
завершается неудачей с ошибками Access Denied
.
var params = {Bucket: 'bucket', Key: 'key', Body: stream, ACL: 'public-read`};
s3.putObjectAcl(params, function(err, data) {
console.log(err, data);
})
Это сообщение об ошибке, возвращаемое в ответе.
{
"errorMessage": "Access Denied",
"errorType": "Error"
}
Получение ACL с использованием getObjectAcl
также не удается с той же проблемой.