在Rails多租户应用程序中寻找有关Amazon S3存储桶设置和管理的建议

 yjdnvb 发布于 2023-01-20 17:09

每个租户都有自己的照片库,可以在Amazon S3上存储照片.看作S3对我来说相对较新,我正在寻找一些关于如何在存储桶,IAM组/用户,安全性,使用情况报告以及可能的计费方面进行管理的建议和最佳实践.

我看到它的方式是我有两个选择.

选项1: 一个主桶.每个租户都有一个存储照片的子目录.我将为整个应用程序创建一个IAM组,并为每个租户创建一个新的IAM用户,只能访问他们的子目录.将来,如果我想知道租户使用多少S3空间,那么很容易报告?我是否希望为每个租户提供唯一的AWS访问密钥和密钥,即使他们要访问同一个存储桶?

选项2: 每个租户都有自己的桶.每个租户都会获得自己的IAM用户,只能访问他们的存储桶.此选项是否更适合报告使用情况?

一般的问题:

两种选择都有任何重大缺陷吗?

还有其他我不知道的选择吗?

我可以通过IAM用户的活动报告存储,还是在桶级别报告?

BraveNewCurr.. 9

我认为你正试图将你的S3帐户变成一个多用户的东西,但事实并非如此.

每个租户都有自己的桶

你只限于100桶,所以这可能不是你想要的.(除非它是一个非常独特的网络服务:)

一个主桶

每个租户的IAM用户

嗯,我认为IAM用户也有限制.

如果我想知道租户使用多少S3空间,那么很容易报告?

您可以轻松编写脚本.

计费

您可以使用DevPay存储桶,在这种情况下,每个 用户可以拥有100个存储桶.但这需要每个用户注册AWS和其他复杂情况.

我可以通过IAM用户的活动报告存储,还是在桶级别报告?

IAM仅在"ingress"处检查.在那之后,它只是"你的帐户".所以这些文件没有不同的"所有者".

还有其他我不知道的选择吗?

通常的方法是使用一个控制安全性的瘦EC2服务:

您编写了一个Web应用程序并在EC2上运行它.它知道如何验证您的用户.

当用户想要上传时,他们要么将其POST到EC2(并且它复制到S3,并且可能无论如何都要调整它).或者,您为浏览器生成一个签名的POST/PUT URL,以便直接上传到S3(一旦理解就很容易做到.)

当用户想要查看文件时,他们会点击您的服务以获取允许他们访问其文件的签名URL.但是访问时间过了一段时间.没关系,因为他们只通过您的EC2网页访问文件.

结果是你的EC2盒子很小,因为它只是为浏览器创建URL.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有