开发者社区> 问答> 正文

使用RAM子账号上传文件到BUCKET失败

风过无声918 2016-01-19 23:21:25 2834

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上传文件成功

XML Java 开发工具 对象存储 数据格式
分享到
取消 提交回答
全部回答(2)
  • 51干警网
    2019-07-17 18:25:30

    好吧,我帮你复制过来。你这个问题关闭吧。
    首先您需要创建一条自定义授权策略,假设您的Bucket名称为"myphotos"

    {

    &quot;Version&quot;: &quot;1&quot;,
    &quot;Statement&quot;: [
        {
            &quot;Effect&quot;: &quot;Allow&quot;,
            &quot;Action&quot;: &quot;oss:*&quot;,
            &quot;Resource&quot;: [
                &quot;acs:oss:*:*:myphotos&quot;,
                &quot;acs:oss:*:*:myphotos/*&quot;
            ]
        }
    ]

    }

    然后为此用户添加此条自定义授权策略

    0 0
添加回答

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题