【发布时间】:2012-11-12 06:21:58
【问题描述】:
我已经阅读了很多帖子,其中涉及我认为应该是一个非常常见的用例 - 但没有找到我想要的确切内容,或者无法完成的简单原因。
我在 S3 上有一些文件。我希望能够通过我构建的前端授予某些用户访问某些文件的权限。
到目前为止,我已经做到了:
- 我在 Django 中构建了前端,使用它的内置用户和组
- 我有一个存储桶模型,我在其中镜像了我的 S3 存储桶。
- 我有一个 m2m 关系,从组到代表 S3 权限的存储桶。
- 用户登录并针对 Django 的用户进行身份验证。
- 我从 Django 中获取允许用户查看的存储桶列表
- 我使用 boto 从这些存储桶中获取文件的链接列表并显示给用户。
这可行,但并不理想,而且感觉也不对。我必须保留存储桶的镜像,并且我还必须维护自己的用户/密码和权限列表,因为 AWS 已经内置了所有这些。
我真正想要的是简单地在 IAM 中创建用户并使用 IAM 中的组权限来控制对 S3 存储桶的访问。没有重复的数据或功能。我的应用程序会向用户请求 UN/PW 并使用它连接到 IAM/S3 以提取存储桶和文件的列表,然后向用户显示链接。很简单。
我怎么能,或者为什么我不能?
我看错了吗?
解决这个(我认为)非常常见的用例的“正确”方法是什么?
【问题讨论】:
-
这是一个有趣的问题,虽然相当复杂。我的第一个问题是,“您拥有或计划拥有多少用户”?
-
我会有 10-50 个用户。
-
你找到解决方案了吗?
标签: django amazon-s3 amazon-web-services boto amazon-iam