【问题标题】:AWS policy to limit S3 data size per IAM user限制每个 IAM 用户的 S3 数据大小的 AWS 策略
【发布时间】:2019-11-06 18:49:12
【问题描述】:

我正在尝试根据帐户层级限制给定用户可以上传到 S3 存储桶的多少数据。

例如: 第 1 层:用户最多可以上传 1GB 到 S3 | 第 2 层:“”5GB | 第 3 层:“”25GB | 等等

我无法在网络上找到任何攻击此问题的资源。

我已经探索了 IAM 和 S3 存储桶策略的世界,但据我了解,似乎一切都与限制对存储桶的访问有关,而不是限制用户可以贡献的数据量。

我仍然希望用户能够对该存储桶执行 CRUD 操作,但前提是要保持在与其层相关的大小限制内。

感谢所有建议。

【问题讨论】:

  • 如何定义“用户”?它是 IAM 用户还是您的应用程序的用户?

标签: amazon-web-services amazon-s3 aws-lambda amazon-cognito amazon-iam


【解决方案1】:

Amazon S3 中没有内置功能来限制存储量。

您可以使用的一种方法是让您的应用程序监控用户消耗的存储量。当他们要上传另一个文件时,您可以检查他们是否已超出限制。如果是,则不允许上传。

如果他们的限制没有被超过,您的应用程序可以创建一个预签名 URL 来上传文件,并在该预签名 URL 的策略中,指定允许的最大文件大小。您的应用程序将根据其配额内剩余的数量设置此大小。

请注意,关于配额的所有逻辑都将由您的应用程序负责

见:Uploading Objects Using Presigned URLs - Amazon Simple Storage Service

【讨论】:

  • 预签名 URL 的链接是关于使用 PUT 上传的。据我了解,不可能附加限制最大文件大小的策略。只有基于浏览器的 POST 预签名 URL 允许附加策略。见Creating a POST Policy
猜你喜欢
  • 2019-07-07
  • 2021-02-25
  • 1970-01-01
  • 2019-11-16
  • 2012-11-23
  • 2018-11-02
  • 2018-10-20
  • 2019-04-18
  • 2016-05-15
相关资源
最近更新 更多