【发布时间】:2016-02-07 15:05:22
【问题描述】:
在 Michael Hartl 的 Rails 教程的第 11.4.4 章“Image upload in production”中,建议使用 Amazon Web Services S3 作为云存储服务。在页面底部的注释中,作者本人将本书的这一部分定义为“具有挑战性”,并建议“可以跳过而不会失去连续性”。
确实,本部分最具挑战性的部分之一是找到一个合适的 IAM 策略,该策略可以附加到 AWS 的 IAM 用户,以便授予 IAM 用户对 S3 存储桶的读取和写入权限。
我在 Stackoverflow 发现这是一个常见问题:例如,请参阅“Trying to set up Amazon's S3 bucket: 403 Forbidden error & setting permissions”。
实际上,Amazon Web Services's solution 对于需要在单个 S3 存储桶上读取和写入权限的应用程序不起作用,并且尝试上传图像的用户会从 Heroku 的 AWS 服务器收到 403 禁止状态。
预定义的“AmazonS3FullAccess”策略确实有效,但不应将其视为最终解决方案,因为不需要向 IAM 用户授予太多权限,因此也不需要向应用程序授予太多权限,而且我想也可以一个安全漏洞。
那么正确的 IAM 政策是什么?
【问题讨论】:
标签: ruby-on-rails heroku amazon-s3 railstutorial.org