使用案例:我们正在开发一个Web应用程序,客户要求我们使用AWS S3来存储图像。 在该应用程序中,每个人都将拥有自己的帐户并上传自己的图像,其中一些上传的图像将是公共的。
根据我的理解,我们可以通过使用预签名URL来上传图像来实现此目的。但我面临的问题是如何限制其他用户访问这些图像。
使用案例:我们正在开发一个Web应用程序,客户要求我们使用AWS S3来存储图像。 在该应用程序中,每个人都将拥有自己的帐户并上传自己的图像,其中一些上传的图像将是公共的。
根据我的理解,我们可以通过使用预签名URL来上传图像来实现此目的。但我面临的问题是如何限制其他用户访问这些图像。
使用Amazon S3有两种基本方法:
在第一种情况下,只有您的应用程序可以访问存储在S3中的数据/文件。它必须检索内容并向用户提供服务。这是Web服务器的传统方法。
在第二种情况下,您可以生成包含对存储在S3中的文件的引用的HTML页面。例如,如果图像出现在Web页面中,则src=
参数将指向Amazon S3 URL。然后从S3中提供文件,而不需要通过您的Web服务器。
通过使用预先签名的URL,可以增强此功能,这些URL是时间限制的URL,可提供对存储在Amazon S3中的私有内容的访问。操作方式如下:
预先签名的URL包括:
预先签名的URL可以仅使用几行代码创建,而不需要调用AWS API。
最重要的是:使所有图像保持私有。您的应用程序会动态确认每个用户访问图像的权利,然后生成URL以授权有时限的访问。