我正在使用 Java 中的 aws sdk 从给定存储桶生成签名对象 URL。这些对象是我想使用以下代码生成签名 URL 的图像。
URL url = amazonS3Client.generatePresignedUrl(generatePresignedUrlRequest);
以下是生成的 url 的示例
在 URL 中,最终用户和开发人员可以看到 AWS3AccessKeyId 和签名。有人有机会使用 url 中的信息对对象生成 PUT、DELTE 等操作吗?向我不认识的用户提供这些网址是否安全?
背景
我喜欢与人们分享图像和其他对象 URL,他们会在自己的网站中使用它们。例如,在网站中显示图像的 url,或用户可以从中下载文件的 url。
最佳答案
不,他们将无法使用这些 URL 执行您允许之外的任何操作。因此,如果您生成预签名 url 来获取特定的 S3 对象,他们将只能使用它来获取该 S3 对象。他们无法对 URL 进行逆向工程以使自己能够访问其他存储桶或对象。
关于java - 签名的 Amazon s3 URL 可以安全共享吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36849183/