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

Javascript 使用IAM用户凭据时无法访问任何S3资源?,javascript,amazon-web-services,amazon-s3,Javascript,Amazon Web Services,Amazon S3,我一直在使用我的AWS S3帐户密钥,同时玩javascript SDK,来回清理文件。现在是时候把它移出我的开发环境了,我设置了一个IAM帐户,这样我就可以使用访问受限的东西。然而,一旦我输入了新的密钥,我就完全无法访问S3。我甚至不能列出桶里的东西 从文档中可以看出,我已经正确配置了权限。当我试着让它工作的时候,我继续把它设置为所有允许的值 以下是我的开放政策: { "Version": "2012-10-17", "Statement": [ { "Sid":

我一直在使用我的AWS S3帐户密钥,同时玩javascript SDK,来回清理文件。现在是时候把它移出我的开发环境了,我设置了一个IAM帐户,这样我就可以使用访问受限的东西。然而,一旦我输入了新的密钥,我就完全无法访问S3。我甚至不能列出桶里的东西

从文档中可以看出,我已经正确配置了权限。当我试着让它工作的时候,我继续把它设置为所有允许的值

以下是我的开放政策:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1421961557000",
      "Effect": "Allow",
      "Action": [
        "s3:*"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
然后,我通过一个设置为S3的策略模拟器运行该策略,选择了所有操作,并按预期列出了所有项目的“允许”

因此,感觉到策略是正确的,我回到了代码

我将AWS global
Config
对象中的现有凭据替换为IAM凭据,然后尝试获取一个存储桶

AWS.config.update({accessKeyId: 'MY_KEY', secretAccessKey: 'MY_SECRET_KEY'});
bucket = new AWS.S3({params: {Bucket: 'MY_BUCKET'}});
现在,我对S3服务发出的每个请求都返回为禁止的
403
。具体来说,错误如下:

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

如果我输入我的主帐户密钥,一切都100%正常。那么,为什么我的IAM用户不能访问任何内容

这是IAM策略还是bucket策略?@Matt这是IAM策略该策略似乎正确,可能是其他原因。您可以尝试使用AWS CLI(AWS.amazon.com/CLI)检查这两组凭据,以查看是否出现相同的问题。这样,您就知道问题是出在凭据还是代码上了。@user3308774您找到解决方案了吗?请你提供一些反馈意见好吗?非常感谢。