签名的 Amazon s3 url 可以安全共享吗?

Is a signed Amazon s3 url safe to share?

我在 Java 中使用 aws sdk 从给定的存储桶中生成签名对象 urls。这些对象是我想使用以下代码为其生成签名 url 的图像。

 URL url = amazonS3Client.generatePresignedUrl(generatePresignedUrlRequest);

下面是生成的例子url

在 url 中,有 AWS3AccessKeyId 和签名,最终用户和开发人员可以看到。是否有人有机会使用 url 中的信息对对象生成 PUT、DELTE 等操作。向我不认识的用户提供这些 url 是否安全?

背景

我喜欢与人分享图像和其他对象 url,他们将在他们的网站中使用它们。例如,url 用于在网站中显示图像,或 url 用户可以从中下载文件。

不,他们将无法使用这些 URL 来执行您允许的以外的任何事情。因此,如果您生成预签名的 url 来获取特定的 S3 对象,他们将只能使用它来获取该 S3 对象。他们无法对 url 进行逆向工程,让自己能够访问其他存储桶或对象。