1

我有几个用于 Amazon AWS 帐户的存储桶。使用 boto 我可以看到所有的桶:

conn = boto.connect_s3()
buckets = conn.get_all_buckets()
print buckets

但是,当尝试获取特定存储桶时:

# bucket-1 is present in the conn.get_all_buckets() response
bucket = conn.get_bucket('bucket-1') 

我只能访问由 boto 本身创建的那些。尝试从管理控制台中创建存储桶时,出现以下错误:

<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>SignatureDoesNotMatch</Code><Message>The request signature we calculated                
does not match the signature you provided. Check your key and signing method.</Message>

在管理控制台中检查权限时,存储桶都具有相同的权限。

编辑:使用的 Boto 版本是 1.9b

4

2 回答 2

2

更新到 Boto 2.9.4 版解决了这个问题。

于 2013-05-28T07:47:01.503 回答
0

https://github.com/aws/aws-sdk-js/issues/86

为 s3 签名者添加标签,以便 getBucketTagging 工作……</p>

没有这个生成的签名是无效的。

https://github.com/aws/aws-sdk-js/pull/107

https://forums.aws.amazon.com/message.jspa?messageID=220402

http://blogs.aws.amazon.com/security/post/Tx3VRSWZ6B3SHAV/Writing-IAM-Policies-How-to-grant-access-to-an-Amazon-S3-bucket

于 2013-05-23T09:44:22.650 回答