我正在建立一个PHP网站,将其内容文件保存在Amazon S3上。网站文件(使用PHP代码)托管在传统服务器上。用户将在网站上注册,注册和登录后,他们可以访问S3上的文件。
问题是,如何让只有登录的用户下载文件并阻止其他人下载? AWS IAM是否必须以某种方式参与?
我不想要过期的网址。我想只向特定用户授予文件访问权限,我不希望他们在任何时间段内与其他任何人共享该链接。
将来我还想限制注册用户访问文件的权限 - 具体取决于用户可以访问不同文件的用户帐户类型。
提前回复!
答案 0 :(得分:3)
这可以做到......我使用ROR而不是PHP,我的应用程序控制对S3存储桶中数据的访问。我有应用程序可以访问的存储桶,文件访问受限于我的应用程序中的凭据。合理?
我有一个公共存储桶来存储我的资产(公开可用的图像)和一个只有我的应用程序才能访问的存储桶。我的应用程序中的用户只能根据他们的凭据访问某些存储桶。
数据库存储对确切s3文件/位置的引用,如何访问它(加密凭据和在事务期间传递的密钥)以及谁可以访问它。
阅读从S3存储桶提供的Web资产并创建上传表单到S3存储桶。这将让您了解如何与S3存储桶交互。一旦您可以与存储桶内容进行交互,您就可以使用Web应用程序控制访问。
祝你好运!