如何在预签名 S3 上强制执行 SSL URL

How to enforce SSL on presigned S3 URL

我知道如何enforce SSL on S3 via bucket policies

但即使使用此存储桶策略,也可以使用 HTTP 和 HTTPS 访问 presigned S3 object URL

有没有办法对预签名的 URL 强制执行 SSL?在预签名期间使用存储桶策略或使用特定选项。

修改向签署 URL 的委托人授予访问权限的策略,添加此条件键测试。

"Condition": {
    "Bool": {
         "aws:SecureTransport": "true"
    }
}

如果使用 HTTP 向那些签名的 URL 发出请求,它们将被拒绝。此更改将具有追溯力,甚至会影响您已经生成的已签名 URL,因为它是在实际使用 URL 时进行评估的。

或者,创建存储桶策略以在条件为假时拒绝对存储桶的所有访问。

https://aws.amazon.com/blogs/security/how-to-use-bucket-policies-and-apply-defense-in-depth-to-help-secure-your-amazon-s3-data/