我在使用Amazon S3预先签名的网址时遇到了问题。在我的存储桶策略配置中,我只能访问特定的IAM用户,我的意思是,不是公开的。因此,如果我在浏览器中导航到我的S3存储桶的文件URL,我会收到拒绝访问的消息。 所以,我使用aws-cli工具生成该文件的预签名URL。使用该URL我能够正确获取文件,但问题是当我尝试将文件放入存储桶时。使用该URL我无法放入文件因为我收到此消息错误:
<Code>SignatureDoesNotMatch</Code>
<Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message>
我缺少什么?
答案 0 :(得分:1)
您需要PUT
方法和GET
方法的不同预签名网址。这是因为HTTP动词(PUT
,GET
等)是&#34; CanonicalResource&#34;的一部分。用于构建签名。有关详细信息,请参阅"Authenticating Requests" in the Amazon S3 reference docs。