Amazon web services 从公共存储桶获取图像的困难?

Amazon web services 从公共存储桶获取图像的困难?,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,我想使用S3来存储用户上传的图像。一些图像,如个人资料图片和其他缩略图,应该是任何人都可以看到的。但是,我还希望在“发布”该图像的组中有一些用户可以看到的图像 我的应用程序将处理所有逻辑,以决定某个用户是否有权访问该图像 我的问题是:有了一个公共S3存储桶和我的应用程序来控制图像的可见性,人们看到他们通常无法访问的图像会有多困难 有没有更好的方法来设置S3存储桶来满足这些要求 谢谢。最好的方法是: 不要授予对Amazon S3中任何图像/对象的公共访问权限 您的应用程序始终决定是否允许他们访问

我想使用S3来存储用户上传的图像。一些图像,如个人资料图片和其他缩略图,应该是任何人都可以看到的。但是,我还希望在“发布”该图像的组中有一些用户可以看到的图像

我的应用程序将处理所有逻辑,以决定某个用户是否有权访问该图像

我的问题是:有了一个公共S3存储桶和我的应用程序来控制图像的可见性,人们看到他们通常无法访问的图像会有多困难

有没有更好的方法来设置S3存储桶来满足这些要求

谢谢。

最好的方法是:

  • 不要授予对Amazon S3中任何图像/对象的公共访问权限
  • 您的应用程序始终决定是否允许他们访问
  • 对于允许访问图像的用户,创建一个Amazon S3预签名URL,这是一个有时间限制的URL,将授予对对象的访问权限
您的应用程序可以在几行代码中生成预签名的URL,而无需调用AWS

这样,您的所有安全性都由应用程序维护,而不必有选择地公开某些对象,人们也无法获得对对象的未经授权访问。

最佳方法是:

  • 不要授予对Amazon S3中任何图像/对象的公共访问权限
  • 您的应用程序始终决定是否允许他们访问
  • 对于允许访问图像的用户,创建一个Amazon S3预签名URL,这是一个有时间限制的URL,将授予对对象的访问权限
您的应用程序可以在几行代码中生成预签名的URL,而无需调用AWS

这样,您的所有安全性都由应用程序维护,而不必有选择地公开某些对象,而且人们无法获得对对象的未经授权访问