无法使用awscli将文件上传到s3 - 访问被拒绝

时间:2016-08-13 20:18:25

标签: amazon-web-services amazon-s3

以下是我采取的步骤:

  1. 创建一个s3存储桶,复制公共读取的权限策略(见下文)
  2. 启用静态网络托管并将根目录设置为index.html(尚未上传)
  3. 尝试使用网络界面上传文件夹,但Linux上不支持
  4. 运行awscli configure并输入我的访问令牌,机密令​​牌,区域
  5. 修改~/.aws/config并添加signature_version = s3v4(这是为了避免错误,如果我将其删除)
  6. 尝试aws s3 sync . s3://my-music
  7. 请参阅此错误:

    调用ListObjects操作时发生错误(AccessDenied):拒绝访问 已完成1个部分,其中包含......文件

  8. 没有其他信息。

    存储桶策略

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Sid": "PublicReadForGetBucketObjects",
                "Effect": "Allow",
                "Principal": "*",
                "Action": "s3:GetObject",
                "Resource": "arn:aws:s3:::my-music/*"
            }
        ]
    }
    

    我不得不说我对aws上的政策/ iam知之甚少。我真的只想上传一个静态网站并访问它,不应该太难了吧?除了网站有很多文件,我需要以某种方式批量上传它们。如果它有所不同,我确实创建了一个iam用户,这是我用于访问/秘密令牌的凭据。

1 个答案:

答案 0 :(得分:1)

我未能将政策附加到我的新IAM用户。

我访问了https://console.aws.amazon.com/iam/home

然后点击新用户,这会弹出一个附加政策的按钮。

我在那里添加了第一个策略("管理员访问"),这就是我需要做的全部。