我们使用亚马逊s3来管理图像和视频.我们能够成功整合它,并在我们的网站上加载视频和图像.
例如网址 https://s3.ap-south-1.amazonaws.com/prod/image/20160810065109.png https://s3.ap-south-1.amazonaws.com/prod/video/43443.mp4
我们希望限制用户直接在浏览器中使用上述链接进行下载或播放.我知道我们可以允许几个IP访问亚马逊s3网址.我们有andriod应用程序,获取这些亚马逊s3网址.因此IP限制不起作用.亚马逊s3是否提供此限制的任何其他机制并允许?请提供建议.如果我们有一个实施的例子,那将是很好的.
最合适的解决方案是使用Amazon S3预签名URL.
默认情况下,Amazon S3中的所有对象都是私有的.然后,您可以添加权限,以便人们可以访问您的对象.这可以通过以下方式完成:
甲预签名URL可以用于授权访问S3对象为"覆盖"的访问控制的一种方式.通过附加到期时间和签名,可以通过URL访问通常的私有对象.这是一种在不需要Web服务器的情况下提供私有内容的好方法.
如果您的目标是仅在使用预签名网址的位置投放内容,则:
这样,访问对象的唯一方法是使用预签名URL(具有签名).不需要存储桶策略.
应用程序有责任对用户进行适当的身份验证,以确定是否允许用户访问S3中的对象.如果他们被授予访问权限,那么您的应用程序应该生成预签名的URL作为对象的经过身份验证的链接.这些网址仅在有限的时间段内有效.
最好通过使用后端应用程序(可能在Amazon EC2或AWS Lambda上运行)执行身份验证然后生成URL来完成此操作.然后,您的Android应用可以使用网址访问S3中的内容.
| 归档时间: |
|
| 查看次数: |
913 次 |
| 最近记录: |