没有 Access Keys 页面根本原因你用的是minio/minio:latest最新社区版镜像新版已经把WebUI里的 Access Keys访问密钥菜单删掉了不能网页点按钮创建业务AK/SK只能用mc命令行生成。注意root账号本身就可以直接当S3的AK/SK用AccessKey MINIO_ROOT_USER你的adminSecretKey MINIO_ROOT_PASSWORD你的Admin123456开发调试大疆对接可以直接先用这组生产不建议root密钥对外使用。方案1mc命令行生成业务AccessKey推荐不用换镜像步骤1下载mc客户端到你的linux机器wgethttps://dl.min.io/client/mc/release/linux-amd64/mcchmodxmcmvmc/usr/local/bin/步骤2把本地minio配置到mc别名mcaliassetmyminio http://127.0.0.1:9000 admin Admin123456步骤3生成service account业务AK/SK给大疆设备用mcadmin accesskey create myminio admin执行完直接输出AccessKey: xxxxxxxx SecretKey: yyyyyyyy⚠️SecretKey只输出这一次复制保存好丢了只能重新生成。给bucket绑定权限策略大疆上传必须# 把策略json保存为dji-policy.jsoncatdji-policy.jsonEOF { Version:2012-10-17, Statement:[ { Effect:Allow, Action:[s3:PutObject,s3:ListBucket,s3:GetObject], Resource:[arn:aws:s3:::dji-test,arn:aws:s3:::dji-test/*] } ] } EOF# 挂载策略mcadmin policy create myminio dji-policy dji-policy.json# 将策略绑定给刚刚生成的accesskey对应的用户mcadmin policy attach myminio dji-policy--useradmin方案2换回旧版镜像恢复网页Access Keys菜单如果你想要图形界面点鼠标创建密钥不要用latest指定旧版本镜像minio/minio:RELEASE.2023-08-04T17-40-21Z#停止删除旧容器dockerrm-fminio-localmkdir-p/home/dualven/minio-datadockerrun-d--nameminio-local-p9000:9000-p9001:9001-eMINIO_ROOT_USERadmin-eMINIO_ROOT_PASSWORDAdmin123456-v/home/dualven/minio-data:/data minio/minio:RELEASE.2023-08-04T17-40-21Z server /data --console-address:9001启动后访问9001控制台左侧就会出现 Access Keys菜单。大疆S3兼容配置调试可以直接用root账号Endpoint: http://服务器ip:9000 AccessKey: admin SecretKey: Admin123456 BucketName: dji-test Region: us‑east‑1校验连通性用mc ls myminio/dji-test看是否正常访问bucket。补充小坑新版minio社区版WebUI只能浏览bucket、上传下载文件用户、密钥、policy全部交给mc命令行处理。root账号的AK/SK永远不会在网页上显示只能从启动环境变量获取。不要把9001控制台暴露公网业务S3接口只用9000端口。如果你需要我给你一行完整shell脚本一键创建dji bucket生成aksk绑定policy。server /data --console-address :9001参数拆解这是 MinIO容器内的启动命令不是docker参数是传给minio程序本身的。minio/minio server /data --console-address :90011.serverminio 的子命令代表启动对象存储服务模式。minio 有很多子命令server(运行服务)、gateway(网关)、mc(客户端)。这里就是启动存储服务。2./dataserver /data告诉 minio把所有对象存储的数据存到容器内部的/data目录。结合你的docker挂载-v /home/dualven/minio-data:/data容器内/data→ 映射宿主机磁盘/home/dualven/minio-data所以实际文件落在宿主机这个目录。3.--console-address :9001--console-address指定Web管理控制台的监听地址和端口:9001冒号前面不写IP代表监听容器内所有网卡 0.0.0.0端口9001端口用途9000S3 API接口SDK、大疆设备上传文件用9001Web网页控制台浏览器登录管理bucket如果写成--console-address 127.0.0.1:9001控制台就只能容器内部访问外部浏览器打不开。所以一般写:9001。完整串联你的docker rundockerrun-d-p9000:9000# 把容器9000(S3接口)映射宿主机9000-p9001:9001# 把容器9001(网页控制台)映射宿主机9001-v/home/dualven/minio-data:/data minio/minio server /data# minio服务数据存放容器内/data--console-address:9001# web控制台监听全部网卡9001端口常见踩坑忘记写--console-address :9001minio会随机分配控制台端口你不知道网页是哪个端口浏览器访问不了管理页面。--console-address 127.0.0.1:9001控制台仅容器本机访问宿主机浏览器打不开网页。简单记忆server /data数据存哪里--console-address :9001网页管理后台端口9000 S3业务接口9001 Web管理界面两个端口分工不同。常用 mc 命令ls、mb、cp、rm、policy命令 说明 示例ls 列出存储桶或对象 mc ls myminiomc ls myminio/mybucketmb 创建存储桶 mc mb myminio/new-bucketcp 复制上传/下载 上传mc cp ./file myminio/mybucket/下载mc cp myminio/mybucket/file ./rm 删除对象 mc rm myminio/mybucket/file.txtmc rm --force myminio/mybucket/policy/anonymous 设置桶的匿名访问策略 mc anonymous set download myminio/mybucket公开只读原文链接https://blog.csdn.net/2301_81831660/article/details/161396653本地目录e:\minio-data81.69..:/home/dualven/minio-data , /minio参考文档https://blog.csdn.net/qq_40623672/article/details/140634694?ops_request_miscelastic_search_miscrequest_idc4ceccf4a0d01ddc2e81c494ab1574d0biz_id0utm_mediumdistribute.pc_search_result.none-task-blog-2blogtop_positive~default-1-140634694-null-null.541v3pc_search_result_blog1utm_termminio%E4%BD%BF%E7%94%A8spm1018.2226.3001.4450mc admin accesskey create myminio admin⚠️这条命令生成的是 Service‑Account服务账号密钥就是大疆报 STS 403 的头号元凶这种 AK/SK 不能用来调用sts:AssumeRole命令拆解mcadmin accesskey create myminio admin片段含义mcminio 客户端命令行工具admin accesskey create创建 Service‑Account 服务账号密钥属于某个已有用户的子密钥myminiomc配置里的别名就是你mc config host add myminio http://ip:9000 AK SK那个别名admin父用户名这个服务账号归属到 minio 的 admin 用户下执行后输出类似AccessKey: XXXXX SecretKey: YYYYY关键性质非常重要这不是独立IAM User是依附于admin用户的子服务账号✅可以做普通S3上传、下载、list❌不支持 STSsts:AssumeRole硬限制无论给什么policy都不行大疆上云服务需要调用STS AssumeRole拿临时凭证用这套密钥直接报STS service failed with HTTP status code 403两种密钥对比类型创建方式支持sts:AssumeRole是否适合大疆机场Service‑Account 服务账号mc admin accesskey create❌不支持❌禁止使用IAM User 独立用户mc admin user add✅支持✅必须用这个正确给大疆创建可用账号完整命令#1 创建独立IAM用户 dji-usermcadmin useraddmyminio dji-user MyStrongPass123#2 把前面的stss3权限策略保存为 dji-policy.json#然后导入策略mcadmin policy create myminio dji-sts-policy dji-policy.json#3 将策略绑定给IAM用户 dji-usermcadmin policy attach myminio dji-sts-policy--userdji-user此时拿到dji-user的AK/SK就是用户名密码配置到大疆上云STS AssumeRole才可以正常跑。补充minio IAM User 的 AK用户名SK设置的密码而 Service‑Account 是系统随机生成一套AK/SK。快速验证是否会403拿到密钥后执行模拟sts调用aws --endpoint-url http://minio:9000 sts assume-role --role-arn arn:aws:s3:::* --role-session-nametest\--access-key-id你的AK --secret-access-key你的SK返回临时凭证正常可以给大疆用返回 AccessDenied 403就是service‑account密钥换掉。小结mc admin accesskey create生成服务账号子密钥普通S3业务没问题但大疆对接MinIO场景绝对不能用这个命令产出的AK/SK会STS 403。要用mc admin user add创建独立IAM用户。如果你需要我把完整可复制的dji‑policy.json内容一并给你。