1. Bucket(存储桶)基础创建
- Bucket Name:
demo1 - 命名规则:小写字母、数字
版本控制 Versioning
OFF(关闭):上传新文件会直接覆盖旧对象,旧版本直接删除,无法恢复ON(开启):MinIO 自动保存对象全部历史版本- 作用:误删 / 覆盖文件时,可回滚历史版本;适合数据备份、合规存储场景
Object Locking 对象锁定
重要:对象锁定只能在创建 Bucket 的时候开启,创建完成后无法修改
OFF(默认):对象可以随时删除、修改ON(开启):对象锁定,在保留期内不能删除、修改,用于合规场景
适用行业:金融、医疗,强制保存日志、合同,防止数据篡改删除
Mode 对象保留模式
- Compliance(合规模式) 最严格模式,任何人(包括管理员)都不能提前删除 / 修改对象,直到保留期结束。用于强合规场景,例如审计日志。
- Governance(治理模式) 普通用户不能删除对象;拥有特殊权限的管理员可提前删除,兼顾合规与业务灵活性。
2. Bucket 容量 Quota
Quota:存储桶容量限额,限制桶最大存储空间。
3. 文件上传与访问控制
- 文件上传入口:
USER Object Browser
默认情况:换浏览器不登录,无法访问桶内资源
Access Policy 访问策略
Public公开策略:无需登录,任何人可直接访问桶内图片 / 文件私有:必须登录 MinIO 账号才能访问
私有桶默认问题:登录后能访问文件,但看不到文件列表,需要单独授权列表权限
文件夹 & 文件操作
- 创建文件夹:自定义名称(示例:
0113) - 上传文件:
uploadFile,可指定上传到子文件夹(如0113/) - 文件操作:支持在线预览
4. 用户与权限策略(重点)
场景:创建只读用户,仅预览文件,禁止删除 / 修改
- 用户信息
- username:
lamp - password:
123456
- username:
权限策略 Statements
Effect: Allow
Actions: s3:GetBucketLocation
s3:GetObject
Resources: arn:aws:s3:::*
s3:GetBucketLocation:获取存储桶位置信息s3:GetObject:读取、下载桶内对象文件
仅配置这两条:能读取文件,但看不到桶内文件列表
增加文件列表查看权限
新建策略 get_demo1_list,选择readonly只读策略,绑定给用户。
绑定后,用户登录可查看桶内文件列表。
5. 小结
- 版本控制:用于误删恢复 ;对象锁定用于合规防篡改,对象锁定只能建桶时开启。
- 访问策略 Public = 公开访问;私有桶必须登录。
- 权限最小化:业务用户只分配必要权限(只读、只获取对象),不给删除权限。
s3:GetObject只能读取文件;想要列出文件清单,需要额外配置列表权限。