指定资源时 S3 策略不起作用

S3 Policy not working when resource is specified

我有一个 rails 应用程序设置为将文件上传到 S3 我有一个 IAM 用户,该用户附加了一个内联策略。

当我使用以下策略时,一切正常:

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

现在,当我尝试指定存储桶的 ARN 时,我的应用程序出现访问被拒绝错误。

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

A​​RN 是直接从我的存储桶中复制的。不知道为什么第二个政策不起作用。它应该根据我读过的所有内容。

这是你的桶:

"Resource": [
        "arn:aws:s3:::my-bucket"
]

这是您的存储桶并且您存储桶中的对象:

"Resource": [
        "arn:aws:s3:::my-bucket",
        "arn:aws:s3:::my-bucket/*"
]