首页 文章

预先指定的URL不适用于PUT,但适用于GET S3

提问于
浏览
0

我在使用Amazon S3预先签名的URL时遇到了麻烦 . 在我的存储桶策略配置中,我只能访问特定的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>

我错过了什么?

1 回答

  • 1

    您需要为 PUT 方法和 GET 方法使用不同的预签名URL . 这是因为HTTP动词( PUTGET 等)是用于构造签名的"CanonicalResource"的一部分 . 有关详细信息,请参阅"Authenticating Requests" in the Amazon S3 reference docs .

相关问题