1)创建一个bucket,名字叫siyuan-pm-test
2)创建一个RAM用户,名字叫siyuan-pm-test
3)创建一自定义的授权策略管理,名字叫oss-siyuan-pm-test-policy
{
"Statement": [
{
"Action": "oss:*",
"Effect": "Allow",
"Resource": "acs:oss:*:*:siyuan-pm-test"
}
],
"Version": "1"
}
PS:用户手册中Resource规则如下,但是我找不到bucket_owner,所以用*代替
Resource指代的是OSS上面的某个具体的资源或者某些资源(支持通配),resource的规则是“acs:oss:{region}:{bucket_owner}:{bucket_name}/{object_name}”。对于所有bucket级别的操作来说不需要最后的斜杠和{object_name},就像这样“acs:oss:{region}:{bucket_owner}:{bucket_name}”。Resource也是一个列表,可以有多个Resource。其中的region字段暂时不做支持,设置为“”。
4)通过JAVA SDK上传一简单的图片文件到bucket,报错如下:
Caught an OSSException, which means your request made it to OSS, but was rejected with an error response for some reason.
Error Message: AccessDenied
Error Code:AccessDenied
Request ID:569E50C37AC3A39417112B6B
Host ID:siyuan-pm-test.oss-cn-shenzhen.aliyuncs.com
2016-1-19 23:11:47 com.aliyun.oss logException
警告: [Server]Unable to execute HTTP request: AccessDenied
[ResponseError]:
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>AccessDenied</Code>
<Message>AccessDenied</Message>
<RequestId>569E50C37AC3A39417112B6B</RequestId>
<HostId>siyuan-pm-test.oss-cn-shenzhen.aliyuncs.com</HostId>
</Error>
PS:程序使用阿里云账号AccessKey上传文件成功
好吧,我帮你复制过来。你这个问题关闭吧。
首先您需要创建一条自定义授权策略,假设您的Bucket名称为"myphotos"
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "oss:*",
"Resource": [
"acs:oss:*:*:myphotos",
"acs:oss:*:*:myphotos/*"
]
}
]
}
然后为此用户添加此条自定义授权策略
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。