minio中设置一个只读用户

1.创建只读策略

 1.1.编写策略json


{
    // 版本,固定值
    "Version": "2012-10-17",
    // 策略的主体部分
    // 数组类型,可包含多个策略声明
    // 每个声明定义一组权限规则
    "Statement": [
        {
            // 指定权限的效果
            // 可选值:
            // "Allow": 允许访问
            // "Deny": 拒绝访问
            // Deny 优先级高于 Allow
            "Effect": "Allow",
            // 委托人
            "Principal": {
                // MinIO用户名
                "AWS": [
                    "READ_ONLY_USER"
                ]
            },
            // 操作权限
            // 读操作:
            // - s3:GetObject:下载文件
            // - s3:ListBucket:列出桶内容
            // - s3:GetBucketLocation:获取桶位置
            // 写操作:
            // - s3:PutObject:上传文件
            // - s3:DeleteObject:删除文件
            // - s3:CreateBucket:创建桶
            // - s3:DeleteBucket:删除桶
            // 管理操作:
            // - s3:GetBucketPolicy:读取桶策略
            // - s3:PutBucketPolicy:修改桶策略
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation",
                "s3:GetObject"
            ],
            // 资源
            // arn:aws:s3:::bucket-name
            // │   │   │   │  └─ 桶名称
            // │   │   │   └─ S3 服务标识符
            // │   │   └─ 服务类型
            // │   └─ AWS 平台标识
            // └─ ARN 前缀
            "Resource": [
                "arn:aws:s3:::bh-costdata/*",
                "arn:aws:s3:::file/*"
            ],
            // 排除特定目录
            "Condition": {
                "StringNotLike": {
                    "s3:prefix": [
                        "StaticFile/*"
                    ]
                }
            }
        },
        {
            "Effect": "Deny",
            "Principal": {
                "AWS": [
                    "READ_ONLY_USER"
                ]
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::bh-costdata/StaticFile/*"
        }
    ]
}

 

 2.创建用户

 3.保存后就可以使用用户登录,登录后就只可以看到策略中设置的两个桶

 

 

posted @ 2025-07-15 16:58  东峰叵,com  阅读(78)  评论(0)    收藏  举报