我使用临时令牌为 Amazon Simple Storage Service (Amazon S3) 存储桶创建了预签名 URL。但是,此 URL 在我指定的过期时间之前过期。为什么会出现这种情况? 如何创建具有更长有效时间的预签名 URL?
如果您使用临时令牌创建了预签名 URL,则该 URL 将在令牌过期时过期。即使 URL 的过期时间较晚,URL 也会过期。
可用于创建预签名 URL 的凭证包括:
要创建有效期长达 7 天的预签名 URL,请为开发工具包指定 IAM 用户凭证(访问密钥和秘密访问密钥)。然后,使用 AWS 签名版本 4 生成预签名 URL。有关示例,请参阅 AWS 签名版本 4 中的签名计算。
创建预签名 URL 时,请记住以下几点:
要允许用户访问 Amazon S3 存储桶中超过 7 天的对象,请考虑使用以下选项之一:
使用预签名 URL 分享对象
GetSessionToken
从实例元数据中检索安全凭证
验证请求:使用查询参数(AWS 签名版本 4)
Boto 3 文档:S3