文档

0015-00000104

更新时间:

问题描述

操作的Bucket属于其他用户。

问题原因

调用PutBucket接口时,存在以下场景之一则会报此错误:

  • Bucket已经存在,而且使用RAM用户AK或者STS来调用PutBucket再次重复创建此Bucket时,会报此错误。只有阿里云账号才能再次重复创建自己的Bucket(这种操作不会改变Bucket的相关属性)。

    说明

    使用RAM用户或者STS创建不存在的Bucket时,如果阿里云账号授予了相关权限,可以创建成功。如果再次创建同一个Bucket时,不管是否有权限,都会报此错误。

  • 调用PutBucketAcl接口(接口形式与PutBucket的唯一区别是header中传了x-oss-acl头),但是并没有这个接口的权限。没有权限的原因有以下几种:

    • 这个Bucket属于其他用户。

    • 使用了RAM用户或者STS的AK,但是这个RAM用户或者角色没有PutBucketAcl权限。

    • Bucket设置有Bucket Policy,禁止调用PutBucketAcl接口。

问题示例

使用RAM用户AK调用PutBucket接口来创建已经属于阿里云账号的Bucket(假设其中qn6qrrqxo2oawuk53otf****属于某个子账号的AK):

PUT / HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 24 Feb 2017 03:15:40 GMT
x-oss-acl: private
Authorization: OSS qn6qrrqxo2oawuk53otf****:77Dvh5wQgIjWjwO/KyRt8dOP****
<?xml version="1.0" encoding="UTF-8"?>
<CreateBucketConfiguration>
    <StorageClass>Standard</StorageClass>
    <DataRedundancyType>LRS</DataRedundancyType>    
</CreateBucketConfiguration>

解决方案

  • 使用RAM用户AK或者STS时,不要重复调用PutBucket接口去创建同一个Bucket。

  • 调用PutBucketAcl接口时,需要确保有阿里云账号的授权。

相关文档

  • 本页导读 (1)
文档反馈