IBM云对象存储,无法修改对象ACL权限



使用node.js sdk用于IBM云对象存储,我可以成功地使用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的CC_3失败。

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也因同一问题而失败。

身份验证凭据必须具有Manager角色才能访问和修改现有对象的ACL。

检查分配给服务标识符的角色。如果您可以创建新对象,则可以具有Writer角色而不是Manager

有关权限模型的更多详细信息可以在此处找到:https://console.bluemix.net/docs/services/cloud-object-storage/iam/buckets.html#bucket-permissions-permissions-permissions->

最新更新