使用aws客户端将acl设置为public-read

时间:2018-03-15 19:30:35

标签: ibm-cloud ibm-cloud-storage

我正在尝试更改IBM COS中的文件(100KB.file)的asl:bucket:' devtest1.ctl-internal.nasv.cos'我收到以下消息:

  

调用PutObjectAcl时发生错误(AccessDenied)   操作:访问被拒绝

似乎我的AWS凭据(或调用)没有允许ACL更新的正确权限。

命令:

  

aws --endpoint-url = https://s3.us-south.objectstorage.softlayer.net   s3api put-object-acl --bucket devtest1.ctl-internal.nasv.cos --key   100KB.file --acl public-read

返回:

  

调用PutObjectAcl时发生错误(AccessDenied)   操作:访问被拒绝

2 个答案:

答案 0 :(得分:0)

你没有提到你已经在你的桶上配置了hmac凭证,所以我假设你还没有。我还假设PutObjectAcl以外的操作不适合你。

尝试添加hmac凭据:

enter image description here

然后......

enter image description here

来源:https://console.bluemix.net/docs/services/cloud-object-storage/hmac/credentials.html#using-hmac-credentials

答案 1 :(得分:0)

我使用AWS CLI也遇到了同样的问题。但是,您可以使用cURL执行相同的操作并提供IBM Cloud IAM令牌。

curl -X "PUT" "https://{endpoint}/{bucket-name}/{object-name}?acl" \
 -H "x-amz-acl: public-read" \
 -H "Authorization: Bearer {token}" \
 -H "Content-Type: text/plain; charset=utf-8" \