访问S3私有资产

时间:2017-06-13 20:01:55

标签: amazon-web-services amazon-s3

我只是想在自己的存储桶中访问文件,出于某种原因,我不能。

CORS

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>DELETE</AllowedMethod>
    <AllowedMethod>HEAD</AllowedMethod>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>

政策

用户政策

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Stmt14973834050",
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "arn:aws:s3:::bucket-name"
            ]
        }
    ]
}

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*"
        }
    ]
}

我可以上传文件,但无法获取看起来应该更容易的任何内容。我错过了一些明显的东西吗?

当我尝试获取资产时。我收到403 Forbidden回复。

1 个答案:

答案 0 :(得分:1)

某些Amazon S3策略在存储桶级别"arn:aws:s3:::bucket-name")运行,而某些策略在对象级别"arn:aws:s3:::bucket-name/*")运行。

Bucket级操作,包括列出存储桶和上传到存储桶。对象级操作包括下载对象。

要为用户授予特定存储桶的所有Amazon S3权限,请使用以下策略:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowAllOnBucket",
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "arn:aws:s3:::bucket",
                "arn:aws:s3:::bucket/*"
            ]
        }
    ]
}