簡體   English   中英

AWS S3 IAM用戶無法訪問存儲桶

[英]AWS S3 IAM user can't access bucket

我有一個名為server的IAM用戶,它使用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>GET\n\n\n\nx-amz-date:Tue, 30 Aug 2016 09:10:53 +0000\n/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 ie一起使用的密鑰

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

顯示的錯誤是針對不正確的訪問密鑰和/或密鑰

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM