每个租户都有自己的照片库,这些照片库将照片存储在Amazon S3上。看到S3对我来说相对较新,我正在寻找有关如何管理存储区,IAM组/用户,安全性,使用情况报告以及可能的计费方面的一些建议和最佳实践。
我看到的方式是我有两个选择。
选项1:
一个主桶。每个租户都有一个存储其照片的子目录。我将为整个应用程序分配一个IAM组,并为每个租户创建一个新的IAM用户,并且只能访问其子目录。将来,如果我想知道租户正在使用多少S3空间,是否易于报告?我是否要为每个租户都拥有一个唯一的AWS访问 key 和私钥,即使他们要使用相同的存储桶?
选项2:
每个租户都有自己的存储桶。每个租户都将拥有自己的IAM用户,并且只能访问其存储桶。此选项是否更适合于报告使用情况?
常见问题:
在桶水平?
最佳答案
我认为您正在尝试将S3帐户转变为多用户帐户,事实并非如此。
Each tenant gets their own bucket
您是limited to 100 buckets,所以这可能不是您想要的。 (除非它是一个非常专有的Web服务:)
One master bucket
好的
IAM user for each tenant
嗯,我认为IAM用户也有限制。
if I want to know how much S3 space a tenant is using will it be easy to report on?
您可以编写脚本很容易。
billing
您可以使用DevPay buckets,在这种情况下,每个用户可以拥有100个存储桶。但这要求每个用户注册AWS以及其他复杂性。
Can I report on storage via an IAM user's activity or does it happen at the bucket level?
仅在“入口”处检查IAM。在那之后,这全都是“您的帐户”。因此,文件没有不同的“所有者”。
Is there another option I'm unaware of?
通常的方法是拥有控制安全性的瘦EC2服务:
结果是您的EC2框可能很小,因为它只是为浏览器创建URL。
关于ruby-on-rails - 在Rails Multi-Tenancy 应用程序中寻找有关Amazon S3存储桶设置和管理的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22106165/