amazon-s3 - 为什么 'Missing Key-Pair-Id query parameter or cookie value'

标签 amazon-s3 amazon-cloudfront

我正在尝试使用签名的 url 通过 AWS cloudfront 将 S3 存储桶作为私有(private)内容提供服务。

但是我不断收到此错误“缺少 key 对 ID 查询参数或 cookie 值”

<Error>
<Code>MissingKey</Code>
<Message>
Missing Key-Pair-Id query parameter or cookie value
</Message>
</Error>

这是一个示例网址

http://test.example.com/TestContent/test.html?Expires=1431195459&Signature=DSk8HwFScg6EFJla1p8UHB9EM28zXB7k5AwrXZjzByzdlTSMCG-md6MvUFT~pneaahfPbCcvxNWqZNYu5Dc1IE1JrjOhFP52APFsVmJDlPmqoQzOoCECclEsSvMpTPgva8L4TazDLtI6E5EuV632y76ZA8XoT2KHhzcj7ux9XhvQ6wyiiQxK9rb13sZJ~Cm~4qI-028dd6UkEIu1tUIM~SFh72wYjik7v8sfz2z5T5bZGZJrrfryO0zA9wpkabFA8JkrmfuBm55XWqcVk5OSOkrNn7iyuXwmrEeBJxufaiWE84UbfS8He12fh6~-seTr7UnOCtC4mBf4qlGsxCzKiw__&Key-Pair-Id=my-test-key

我已验证签名中没有任何无效字符('+'、'='、'/')。

Key-Pair-Id明显存在于签名的网址中。

我的问题:

1) my-test-key是使用我的 IAM 创建的。这是个问题吗?

2) 是否必须在签名的网址中提供政策?

3) 我需要授予对象TestContent/test.html 的任何权限吗?到 OAI?

编辑

如果我将 Key-Pair-Id 值更改为其他值,我将收到不同的错误消息
<Error>
<Code>InvalidKey</Code>
<Message>Unknown Key</Message>
</Error>

所以显然 Key-Pair-Id 被 aws cloudfront 接受。

最佳答案

关于amazon-s3 - 为什么 'Missing Key-Pair-Id query parameter or cookie value',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29784539/

相关文章:

ssl - 哪个 ssl 证书适合 aws elastic load balancer 和 cloudfront? ssl 证书兼容性

amazon-cloudfront - AWS Cloudfront - 缓存行为 - 路径模式格式

amazon-web-services - CloudFront 403 错误缓存的适当 TTL 最小 TTL

python - 将 Word2Vec 二进制模型从 S3 加载到 Gensim 失败

ruby-on-rails - 由于跨域请求,带有 Jquery 文件上传的 Carrierwave_Direct 不会重定向

amazon-web-services - S3 版本控制 - 为什么要留下过期的删除标记?

html - 提供索引文件而不是下载提示

amazon-web-services - AWS CloudFront 如何检测移动设备

amazon-s3 - 双重性,亚马逊S3后端异常

ios - 文件上传到适用于 iOS 的 Amazon S3 的进度条?