s3把json文件访问权限拒绝了

时间:2016-06-21 04:18:17

标签: amazon-s3 s3cmd

我使用linux s3cmd将文件上传到AWS S3。我可以成功上传一个zip文件,这已经工作了几个月了,没问题。我现在还需要上传一个json文件。当我尝试将json文件上传到同一个存储桶时,我收到S3错误:拒绝访问。我无法弄清楚原因,请帮助。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::mybucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject"
            ],
            "Resource": [
                "arn:aws:s3:::mybucket/*"
            ]
        }
    ]
}

s3cmd --mime-type=application/zip put myfile.zip s3://mybucket
SUCCESS

s3cmd --mime-type=application/json put myfile.json s3://mybucket
ERROR: S3 error: Access Denied

3 个答案:

答案 0 :(得分:0)

现在,建议使用AWS Command-Line Interface (CLI)而不是s3cmd

aws s3 cp命令将尝试自动猜测mime类型,因此您可能不需要像在示例中那样指定它。

如果您的心脏已经确定s3cmd无效的原因,请尝试打开权限(例如,允许s3:*)以查看是否可以解决问题,然后缩小列表范围允许的API调用以确定哪个s3cmd正在调用。

答案 1 :(得分:0)

或者您可以使用Minio client aka mc使用 mc cp 命令完成此操作。

$ mc cp myfile.json s3alias/mybucket

希望它有所帮助。

免责声明:我为Minio

工作

答案 2 :(得分:0)

这是s3cmd的一个错误,简单的更新解决了这个问题。