使用IAM用户凭据时无法访问任何S3资源?

时间:2015-01-22 22:04:56

标签: javascript amazon-web-services amazon-s3

我一直在使用我的AWS S3帐户密钥,同时使用javascript SDK并且正在处理来回挖掘文件。现在是时候将它移出我的开发环境了,我建立了一个IAM帐户,以便我可以使用限制访问的东西。但是,一旦我放入新密钥,我就完全无法访问S3。我甚至无法在桶中列出对象。

据我所知,我已经正确配置了权限。在尝试让这个工作时,我继续将其设置为允许的一切。

这是我的开放政策:

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

然后我通过设置为S3的策略模拟器运行策略,并选择了所有操作,并按预期为所有项列出“允许”。

enter image description here

所以,感觉政策是正确的,我回到了我的代码。

我用我的IAM凭据替换了AWS全局Config对象中的现有凭据,然后尝试抓取一个存储桶。

AWS.config.update({accessKeyId: 'MY_KEY', secretAccessKey: 'MY_SECRET_KEY'});
bucket = new AWS.S3({params: {Bucket: 'MY_BUCKET'}});

现在,我针对S3服务发出的每个请求都会以403 Forbidden的形式返回。具体来说,错误:

The request signature we calculated does not match the signature you provided. Check your key and signing method. 

如果我放入我的主帐户密钥,一切都可以100%正常运行。那么,为什么我的IAM用户无法访问任何内容?

0 个答案:

没有答案