签名的 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 进行逆向工程,让自己能够访问其他存储桶或对象。
我在 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 进行逆向工程,让自己能够访问其他存储桶或对象。