204 字
1 分钟
MinIO 存储桶安全策略配置
将 MinIO 存储桶配置为 public 后,任何人均可通过 HTTP 请求直接操作存储桶内容。应通过自定义存储桶策略限制操作权限。
尚未部署 MinIO?参见 MinIO 对象存储安装指南
问题原因
MinIO 的 public 策略等同于完全开放,包括列目录(s3:ListBucket)、上传(s3:PutObject)、删除(s3:DeleteObject)等操作均无限制。
推荐策略:仅允许公共读
以下策略允许任何人读取文件(GetObject),但禁止写入、删除和列目录:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": ["s3:GetObject"], "Resource": ["arn:aws:s3:::your-bucket-name/*"] }, { "Effect": "Deny", "Principal": "*", "Action": [ "s3:PutObject", "s3:DeleteObject", "s3:PutBucketPolicy", "s3:DeleteBucketPolicy" ], "Resource": [ "arn:aws:s3:::your-bucket-name", "arn:aws:s3:::your-bucket-name/*" ] } ]}仅禁止列目录
如果只需防止目录遍历,可单独添加以下 Deny 规则:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": "*", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::your-bucket-name" } ]}将 your-bucket-name 替换为实际存储桶名称,然后在 MinIO Console 的 Bucket → Access Policy 中粘贴并保存即可。
分享
如果这篇文章对你有帮助,欢迎分享给更多人!
MinIO 存储桶安全策略配置
https://blog.olinl.com/posts/minio-bucket-policy/ 相关文章 智能推荐
1
MinIO 对象存储安装指南(Docker / 二进制)
服务与应用运维 介绍使用 Docker Compose 和二进制文件两种方式部署 MinIO 最后免费版本,配置 Systemd 服务实现开机自启。
2
Nacos 开启鉴权配置
服务与应用运维 介绍如何为 Nacos 开启鉴权,包括 application.properties 关键配置项说明及完整配置参考,适用于 2.x 版本。
3
跳过登录弹框:实现 Basic Auth 自动授权
技术插曲与避坑 详解如何通过 URL 传参、Nginx 反向代理注入 Header 以及浏览器插件等方式,实现对 Basic Auth 认证站点的免密自动登录。
4
CI/CD 手册:Jenkins 自动化发布全流程
服务与应用运维 详细记录如何通过 Jenkins 搭建自动化流水线,实现 Node.js 前端项目与 Spring Boot 后端项目的打包、上传及一键部署。
5
Ubuntu安装IntelliJ IDEA
服务与应用运维 详解在 Ubuntu 系统下安装 IntelliJ IDEA 的标准流程,涵盖手动解压安装、创建桌面快捷方式及全局环境变量配置。
