2010-04-27 118 views
0

我在单个受控系统(只有一台计算机正在运行并且没有人访问它)上运行flash(AIR)应用程序。Flash:从Amazon S3访问私人文件

我将在亚马逊的S3上托管一些文件,我需要确保只有在该计算机上本地运行的我的Flash应用程序才能访问这些文件。

我想知道什么是最好的(最安全的)方法是做到这一点。

我最初的想法是将S3上的文件设置为private并将密钥存储在运行Flash应用程序的本地计算机上。然后,当我需要从闪存访问文件时,我会发送一个经过验证的查询字符串,并显示一些到期时间。唯一的问题是,我不知道如何在Flash中生成S3签名。另外我对将密钥存储在闪存机器上有些怀疑(即使它是一台没有其他用户使用它的私有机器)。

或许有更好的方法吗?我可以使用PHP访问服务器,因此我可以将它用作某种代理服务器,但我不确定如何在保持文件访问安全的同时不会通过Web服务器创建瓶颈(而不是直接访问S3)。

任何帮助,将不胜感激。

回答

1

我会为此使用代理,以便您可以重复使用文件检索体系结构以用于您决定创建的任何未来客户端。让Flash应用程序对代理进行身份验证,以友好的API方式请求文件,然后让您的代理从S3中检索文件。