2012-05-03 32 views
2

我在AS3有一个文件桶。我可以访问PHP API以及可以通过命令向Amazon发送请求的服务器。我可以通过HTTP请求参数授予AS3存储桶上文件的权限吗?

我想要做的是使用HTTP GET/POST请求将访问权授予我的存储桶中的文件。从我了解使用此功能:

get_object_url ($bucket, $filename, $preauth, $opt) 

我可以让文件在给定的URL $preauth的时间公开访问。我不希望这样做,我希望该文件可以在需要的网址上私下提供:POSTGET凭据(决定谁可以访问该文件将基于包含应用程序用户及其用户的数据库权限)。我了解通过GETPOST非HTTPS连接上传递任何种类凭据的安全影响。

这可能吗?我可以从AS3将文件下载到我的服务器,然后在我自己的盒子上执行所有的控制,但这是一个昂贵的解决方案(两个文件下载而不是一个,当我的服务器不应该有做一个下载)看似简单的问题。

+1

您使用的PHP API是否有一种方法来设置对象的访问控制策略? – subroutines

回答

1

简短的回答是否定的。

你可以看看Amazons IAM一些更多的方式与Cloudfront保护内容特别是结合但本质上是没有办法通过沿一个用户名和密码,通过提供对内容的访问。

当然,如果您已经在您的网站上对用户进行身份验证,那么您只能向这些用户提供签名的网址。该网址只有在用户启动下载时才有效,而不是在整个下载过程中。另外,如果您打算将您的服务器用作S3与用户之间的代理服务器,您将首先消除使用S3的许多好处。但是您可以使用EC2作为服务器来消除您提到的额外成本--S3和EC2之间的传输是免费的。