AWS S3 IAM 用户无法访问存储桶



我有一个IAM用户server,使用s3cmd备份到S3

s3cmd sync /path/to/file-to-send.bak s3://my-bucket-name/
给了

:

ERROR: S3 error: 403 (SignatureDoesNotMatch): The request signature we calculated does not match the signature you provided. Check your key and signing method.

同一用户可以通过SES发送电子邮件,因此我知道access_keysecret_key是正确的。

我还将AmazonS3FullAccess策略附加到IAM用户并单击Simulate policy。我添加了所有Amazon S3动作,然后单击Run simulation。所有的行动都是允许的,所以似乎S3认为我应该有权访问。策略是:

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

我可以访问的唯一方法是使用root帐户access_keysecret_key。我无法让任何IAM用户能够登录。

使用s3cmd --debug给出:

DEBUG: Response: {'status': 403, 'headers': {'x-amz-bucket-region': 'eu-west-1', 'x-amz-id-2': 'XXX', 'server': 'AmazonS3', 'transfer-encoding': 'chunked', 'x-amz-request-id': 'XXX', 'date': 'Tue, 30 Aug 2016 09:10:52 GMT', 'content-type': 'application/xml'}, 'reason': 'Forbidden', 'data': '<?xml version="1.0" encoding="UTF-8"?>n<Error><Code>SignatureDoesNotMatch</Code><Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message><AWSAccessKeyId>XXX</AWSAccessKeyId><StringToSign>GETnnnnx-amz-date:Tue, 30 Aug 2016 09:10:53 +0000n/XXX/</StringToSign><SignatureProvided>XXX</SignatureProvided><StringToSignBytes>XXX</StringToSignBytes><RequestId>490BE76ECEABF4B3</RequestId><HostId>XXX</HostId></Error>'}
DEBUG: ConnMan.put(): connection put back to pool (https://XXX.s3.amazonaws.com#1)
DEBUG: S3Error: 403 (Forbidden)

我已经用XXX代替了任何敏感的东西。

我在权限设置中错过了什么吗?

明确使用正确的iam访问密钥和s3cmd浏览器使用的秘密密钥

s3cmd --access_key=75674745756 --secret_key=F6AFHDGFTFJGHGH sync /path/to/file-to-send.bak s3://my-bucket-name/

显示的错误是不正确的访问键和/或秘密键

相关内容

  • 没有找到相关文章

最新更新