2

我在AS3中有一个包含文件的存储桶。我可以访问PHP API和可以根据命令向 Amazon 发送请求的服务器。

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

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

$preauth我可以在给定的 URL 上让文件在一段时间内公开访问。我不想这样做,我希望文件可以在具有所需POSTGET凭据的 URL 上私下使用(决定谁可以访问该文件将基于包含应用程序“用户”及其权限的数据库)。我了解在非 HTTPS连接上通过GETPOST传递任何类型的凭据的安全隐患。

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

4

1 回答 1

1

最简洁的答案是不。

您可以查看Amazon IAM以了解更多保护内容的方法,尤其是与Cloudfront结合使用,但本质上无法通过传递用户名和密码来提供对内容的访问。

当然,如果您已经在您的网站上对用户进行身份验证,那么您只能将签名的 url 提供给这些用户。该 url 只需在用户启动下载时有效,而不是在整个下载期间有效。

此外,如果您打算将您的服务器用作 S3 和用户之间的代理,您将首先消除使用 S3 的许多好处。但是您可以使用 EC2 作为服务器来消除您提到的额外费用 - S3 和 EC2 之间的传输是免费的。

于 2012-05-03T13:33:32.467 回答