You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

首次搭建Minio,如何为单个用户设置最高50GB存储容量上限?

MinIO 用户级存储容量限制实现方案

MinIO 原生并未提供直接的用户总容量限制功能,不过可以通过以下两种间接方式实现每个用户存储上限50GB的需求:

方案一:专属桶+桶配额+IAM策略(推荐)

通过给每个用户分配专属存储桶,设置桶容量配额,并限制用户仅能操作自己的桶,以此实现用户级容量限制:

  • 创建用户:
    mc admin user add <你的MinIO别名> <用户名>
    
  • 创建用户专属存储桶:
    mc mb <你的MinIO别名>/<用户名>-bucket
    
  • 设置桶容量配额为50GB:
    mc quota set <你的MinIO别名>/<用户名>-bucket --size 50Gi
    
  • 编写IAM策略文件(比如user-policy.json),限制用户仅能操作自己的桶且无法创建新桶:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "s3:ListBucket",
            "s3:PutObject",
            "s3:GetObject",
            "s3:DeleteObject"
          ],
          "Resource": [
            "arn:aws:s3:::<用户名>-bucket",
            "arn:aws:s3:::<用户名>-bucket/*"
          ]
        },
        {
          "Effect": "Deny",
          "Action": "s3:CreateBucket",
          "Resource": "*"
        }
      ]
    }
    
  • 上传并绑定策略到用户:
    mc admin policy add <你的MinIO别名> <用户名>-policy user-policy.json
    mc admin policy attach <你的MinIO别名> <用户名>-policy --user <用户名>
    

方案二:租户级隔离(分布式集群场景)

如果你的MinIO是分布式部署(使用MinIO Operator),可以为每个用户创建独立的租户,直接设置租户的存储容量上限为50GB。这种方式资源隔离性更强,但配置复杂度更高,适合大规模多用户场景。

补充说明

如果需要允许用户创建多个桶但总容量不超过50GB,MinIO原生无法直接实现,需要额外开发监控脚本:定时统计用户所有桶的总存储量,当超过阈值时,通过IAM策略临时禁止用户的写入操作。这种方案可靠性依赖脚本的稳定性,不如专属桶方案直接。

内容的提问来源于stack exchange,提问作者JVB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 15:09:24