使用VersionId

时间:2017-10-03 15:10:48

标签: amazon-web-services amazon-s3

我很好奇为什么我在S3存储桶中的对象的版本化URL上收到SignatureDoesNotMatch错误(通过附加versionId=abdcd)。

当网址具有以下格式时:

https://s3.amazonaws.com/bucket/object.tar.gz
一切似乎都很好。但是,只要我添加versionId查询字符串,就会出现签名不匹配错误

https://s3.amazonaws.com/bucket/object.tar.gz?versionId=abcde

访问对象的方法由CloudFormation::Init的{​​{1}}属性控制,如描述here

  

S3 Bucket

     

以下示例从Amazon S3存储桶下载zip文件   并将其解压缩到/ etc / myapp:

     

注意您可以为源使用身份验证凭据。但是,你   无法在源块中放置身份验证密钥。代替,   在S3AccessCreds块中包含一个存储桶键。有关示例,请参阅   示例模板。有关Amazon S3身份验证的更多信息   凭据,请参阅AWS :: CloudFormation :: Authentication。 JSON

     

"来源" :{" / etc / myapp" :   " https://s3.amazonaws.com/mybucket/myapp.tar.gz" }

这不是权限问题,因为在没有source查询字符串时它可以正常工作。我很好奇为什么签名方法失败只是添加?我该如何解决?

我读了AWS's Signature V4但我没有看到任何可以解释为什么这不起作用的东西?看来查询字符串只能用于auth headers

0 个答案:

没有答案