【发布时间】:2018-04-24 17:15:30
【问题描述】:
使用适用于 IBM Cloud Object Storage 的 Node.js SDK,我可以使用 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"
}
使用 getObjectAcl 检索 ACL 也会失败并出现同样的问题。
【问题讨论】:
标签: node.js ibm-cloud storage object-storage