我正在尝试更改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) 操作:访问被拒绝
答案 0 :(得分:0)
你没有提到你已经在你的桶上配置了hmac凭证,所以我假设你还没有。我还假设PutObjectAcl
以外的操作不适合你。
尝试添加hmac凭据:
然后......
答案 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" \