使用MinIO时出现“Access Denied“错误-小记

【情况说明】在使用MinIO进行文件服务存储时,突然某个文件桶无法上传和下载,在下载时,接口返回"403",查看错误内容(如下):

javascript 复制代码
<Error>
  <Code>AccessDenied</Code>
  <Message>Request has expired</Message>
  <Key>key-of-the-resource</Key>
  <BucketName>bucket-name</BucketName>
  <Resource>/path-to/teh-resource</Resource>
  <RequestId>16FC78B1C6185XC7</RequestId>
  <HostId>5d405266-91b9-XXXX-ae27-c48694f203d5</HostId>
</Error>

【排查1】去查看Nginx配置,未发生改变故排除; 【排查2】MinIO文件服务进行了重启,重启后该文件通无法使用,查看桶的相关权限。发现变成了"private",因此猜测时这个位置问题。

【解决2-1】直接浏览器访问http://x.x.x.x:9001 时,在网页中可以设置,但发现在编辑后保存修改内容的接口却报错,无法进行修改。

【解决2-2】希望修改Minio的配置文件将目标文件桶的权限修改,故此需要引入工具'mc'。

【mc介绍】mc 是 MinIO 提供的一个命令行工具,全称为 MinIO Client。它是一个功能强大的工具,用于管理 MinIO 服务器以及与 S3 兼容的对象存储服务。通过 mc,你可以轻松执行诸如文件上传、下载、存储桶管理、用户管理、策略设置等操作。

【背景】当前情况时已经在服务器安装过了minio服务,因此只需单独安装mc工具。

1、Linux 安装 mc

bash 复制代码
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/

2、验证安装

css 复制代码
mc --version

3、配置 mc 连接到 MinIO

bash 复制代码
mc alias set myminio http://localhost:9000 YOUR_ACCESS_KEY YOUR_SECRET_KEY
  • myminio:为 MinIO 设置的别名。
  • http://localhost:9000:MinIO 服务的地址。// 最好为IP地址
  • YOUR_ACCESS_KEY 和 YOUR_SECRET_KEY:在启动 MinIO 时生成的访问密钥和秘密密钥。
  • 如果忘记密钥,可以通过以下方式查看:
  • 查看日志文件(通常在启动时会打印密钥)。
  • 如果需要重置密钥,可以重新启动 MinIO 并指定新的密钥。 4、使用 mc 管理 MinIO
arduino 复制代码
// 列出存储桶(服务名:myminio)
mc ls myminio

// 创建存储桶(桶名:mybucket)
mc mb myminio/mybucket

// 设置存储桶为公开访问
mc anonymous myminio/mybucket

// 查看存储桶策略
mc policy get myminio/mybucket

【解决异常问题最终的方式就是将桶器权限设置为公开访问"public",使用上述命令后,在刷新查看是否成功。修改为public后即可下载上传】

【补充】 查看minio是否运行

perl 复制代码
ps aux | grep minio

通过这个也可以查看minio的data文件内容。

相关推荐
Java编程爱好者1 小时前
2026 大厂 Java 八股文面试题库|附答案(完整版)
后端
Moment2 小时前
腾讯终于对个人开放了,5 分钟在 QQ 里养一只「真能干活」的 AI 😍😍😍
前端·后端·github
用户60572374873082 小时前
OpenSpec 实战:从需求到代码的完整工作流
前端·后端·程序员
Java编程爱好者2 小时前
MySQL单表真能存21亿条数据吗?会有严重的性能问题吗?
后端
程序员爱钓鱼2 小时前
Go操作Word文档实战:github.com/nguyenthenguyen/docx
后端·google·go
缓解AI焦虑3 小时前
大模型量化部署进阶:从 INT8/INT4 原理到高性能推理实战
后端
Felix_One3 小时前
ESP32 + Qt 串口通信(一):从协议设计到双向数据链路
后端
用户377515412763 小时前
用 AR 眼镜打造你的办公助手,使用 Unity 开发到 Rokid 部署全记录
后端
小码哥_常3 小时前
Spring Boot文件访问安全:筑牢数据防线,让漏洞无处遁形
后端