阿里云OSS:Put bucket request is not resource owner

使用阿里云 OSS SDK 创建 Bucket 时,出现如下错误:

1
2
3
4
5
6
7
8
9
10
11
12
com.aliyun.oss.OSSException: Put bucket request is not resource owner.
[ErrorCode]: AccessDenied
[RequestId]: 5E821469BB409736367FAEA5
[HostId]: qinghuazs-test.oss-cn-hangzhou.aliyuncs.com
[ResponseError]:
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>AccessDenied</Code>
<Message>Put bucket request is not resource owner.</Message>
<RequestId>5E821469BB409736367FAEA5</RequestId>
<HostId>qinghuazs-test.oss-cn-hangzhou.aliyuncs.com</HostId>
</Error>

权限不足,用户不具备创建 Bucket 的权限,检查后发现虽然创建了用户,但是用户并未加入到用户组中,所以会创建失败。

解决方案

1)为用户添加AliyunOSSFullAccess(管理对象存储服务(OSS)权限)的权限

2)将用户添加到用户组下