【问题标题】:s3 put json file access denieds3把json文件访问拒绝
【发布时间】:2016-06-21 04:18:16
【问题描述】:

我正在使用 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

【问题讨论】:

    标签: amazon-s3 s3cmd


    【解决方案1】:

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

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

    如果您一心想弄清楚为什么s3cmd 不起作用,请尝试打开权限(例如允许s3:*)以查看是否可以解决问题,然后缩小允许的 API 调用列表以找出s3cmd 正在呼叫哪个。

    【讨论】:

    • 感谢您的回复。我已经尝试将允许操作更改为所有(“*”),没有任何变化。
    【解决方案2】:

    您也可以使用Minio client aka mc 使用mc cp 命令,这可以做到。

    $ mc cp myfile.json s3alias/mybucket

    希望对你有帮助。

    免责声明:我为Minio工作

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2019-10-21
        • 1970-01-01
        • 2023-01-10
        • 1970-01-01
        • 2019-05-22
        • 2017-05-07
        • 2022-01-27
        • 1970-01-01
        • 2017-12-24
        相关资源
        最近更新 更多