使用这些设置,Amazon S3 上的图片有多私密?

How private are the pictures on Amazon S3 with these settings?

我的网站上有一个用户可以上传图片的功能。用户可以看到自己的图像,但看不到其他人。图片存储在 Amazon S3 上,但在我的网站上上传和查看,该网站位于虚拟主机上,而不是 S3。

我曾尝试通过我的私钥在我的网站上显示图片,但图片在亚马逊上是私有的,但失败了。

找到这篇文章:http://blog.learningtree.com/configuring-amazon-s3-to-serve-images,它描述了如何使 images/files 更加私密,即使它们在 S3 上设置为 public。该站点建议停止使用 robots.txt 文件的搜索引擎,并且只向来自我域的人提供图像以停止热链接。

如果我在 S3 上制作它们 public,你认为这就足够了吗?还是我应该考虑其他事情?

您还可以将 S3 上的图像配置为私有,然后在您的应用中生成 预签名 URLs。这样,您可以在 link.

中包含到期时间

来自 S3 文档中的 Authenticating REST Requests

For example, if you want to enable a user to download your private data directly from S3, you can insert a pre-signed URL into a web page before giving it to your user.

人们只能在一段时间内使用生成的 URL。如果他们通过您的应用程序访问,它将始终在未来一段时间内生成 link(例如 15 分钟)。如果人们将 link 传递给这些图片,这些 link 会自动过期。

大多数 S3 SDK 都有更高级别的方法来预签名那些 URLs。

相关:How secure are presigned URLs in AWS S3? SO 上。