【问题标题】:Pre signing AWS S3 files预签名 AWS S3 文件
【发布时间】:2021-06-30 11:52:07
【问题描述】:

我有一个允许打开文件的存储桶。我上传了一个名为test.gsm 的测试文件,并尝试通过这样做来预签名文件

root@server2:~# aws s3 presign  s3://dovid-ft/test.gsm  --expires-in 604800
https://dovid-ft.s3.amazonaws.com/test.gsm?AWSAccessKeyId=AKIAJSDPJKCCGAZ257VQ&Signature=0zbBU2B%2FKVrqgOXFQNTGh3gme%2Fo%3D&Expires=1625658191
root@server2:~# 

如果我尝试抓取该文件,我会得到 403。

root@server2:~# wget 'https://dovid-ft.s3.amazonaws.com/test.gsm?AWSAccessKeyId=AKIAJSDPJKCCGAZ257VQ&Signature=0zbBU2B%2FKVrqgOXFQNTGh3gme%2Fo%3D&Expires=1625658191'
--2021-06-30 07:49:21--  https://dovid-ft.s3.amazonaws.com/test.gsm?AWSAccessKeyId=AKIAJSDPJKCCGAZ257VQ&Signature=0zbBU2B%2FKVrqgOXFQNTGh3gme%2Fo%3D&Expires=1625658191
Resolving dovid-ft.s3.amazonaws.com (dovid-ft.s3.amazonaws.com)... 52.217.88.204
Connecting to dovid-ft.s3.amazonaws.com (dovid-ft.s3.amazonaws.com)|52.217.88.204|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2021-06-30 07:49:21 ERROR 403: Forbidden.

root@server2:~# 

我还尝试对密钥的 HTML 进行解码,看看是否有帮助,但没有。

root@server2:~# wget 'https://dovid-ft.s3.amazonaws.com/test.gsm?AWSAccessKeyId=AKIAJSDPJKCCGAZ257VQ&Signature=0zbBU2B/KVrqgOXFQNTGh3gme/o=&Expires=1625658191'
--2021-06-30 07:49:37--  https://dovid-ft.s3.amazonaws.com/test.gsm?AWSAccessKeyId=AKIAJSDPJKCCGAZ257VQ&Signature=0zbBU2B/KVrqgOXFQNTGh3gme/o=&Expires=1625658191
Resolving dovid-ft.s3.amazonaws.com (dovid-ft.s3.amazonaws.com)... 52.217.32.100
Connecting to dovid-ft.s3.amazonaws.com (dovid-ft.s3.amazonaws.com)|52.217.32.100|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2021-06-30 07:49:37 ERROR 403: Forbidden.

root@server2:~#

有没有办法获取日志或查看问题所在以及我的请求被拒绝的原因?到目前为止,能够获取该文件的唯一方法是将其公开,我不想这样做。

【问题讨论】:

  • 是否允许签署 URL 的实体下载它?如果这是一个真实的存储桶名称并且您以某种方式将其公开,我强烈建议您在问题中更改它。

标签: bash amazon-web-services amazon-s3 pre-signed-url


【解决方案1】:

事实证明,我使用了错误的凭据来对文件进行签名。当我尝试使用错误的凭据给他们签名时,为什么亚马逊没有抛出错误是我无法理解的。

【讨论】:

    【解决方案2】:

    解决方案在 wget 中。重新创建场景后,我也无法通过 wget 下载文件。
    wget -O test.gsm "https://yourURL" # 并且会这样做。

    参考:Amazon AWS S3 signed URL via Wget

    【讨论】:

      猜你喜欢
      • 2020-10-23
      • 1970-01-01
      • 1970-01-01
      • 2019-08-05
      • 1970-01-01
      • 2019-01-27
      • 2018-10-20
      • 2017-12-26
      • 1970-01-01
      相关资源
      最近更新 更多