我已经阅读了很多帖子,这些帖子涉及我认为应该是一个非常常见的用例 - 但没有找到我想要的确切内容,或者无法完成的简单原因。
我在 S3 上有一些文件。我希望能够通过我构建的前端授予某些用户访问某些文件的权限。
到目前为止,我已经使它以这种方式工作:
- 我在 Django 中构建了前端,使用它的内置用户和组
- 我有一个桶模型,我在其中镜像了我的 S3 桶。
- 我有一个从组到代表 S3 权限的存储桶的 m2m 关系。
- 用户登录并针对 Django 的用户进行身份验证。
- 我从 Django 中获取允许用户查看的存储桶列表
- 我使用 boto 从这些存储桶中获取指向文件的链接列表并显示给用户。
这可行,但并不理想,而且感觉也不对。我必须保留存储桶的镜像,并且我还必须维护自己的用户/密码和权限列表,因为 AWS 已经内置了所有这些。
我真正想要的是简单地在 IAM 中创建用户并使用 IAM 中的组权限来控制对 S3 存储桶的访问。没有重复的数据或功能。我的应用程序会向用户请求 UN/PW 并使用它连接到 IAM/S3 以提取存储桶和文件列表,然后向用户显示链接。简单的。
我怎么能,或者为什么我不能?
我看错了吗?
解决这个(我假设)非常常见的用例的“正确”方法是什么?