无法获取AWS S3存储桶中文本文件数据,请求技术协助
解决AWS S3控制台访问对象报错但直接链接可访问的问题
问题核心原因
隐身窗口能直接打开文件,说明你的桶策略已生效,对象具备公共读权限。但AWS控制台访问对象时,依赖的是当前登录账号的IAM权限,而非公共桶策略的权限——这就是两种访问方式结果不同的根本原因。
解决方案
1. 为登录控制台的IAM账号添加对象访问权限
给当前用于登录AWS控制台的IAM用户/角色,添加包含s3:GetObject动作的权限策略,示例策略如下:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::documentation-test-mk/*" } ] }
你可以在IAM控制台的用户/角色权限管理中,创建并附加这个策略。
2. 直接提取内容的临时方法
如果只是需要快速获取文本内容,无需纠结控制台权限:
- 继续用隐身窗口打开文件链接,直接复制文本内容;
- 用命令行工具下载文件,比如使用
curl:
curl https://documentation-test-mk.s3.ap-south-1.amazonaws.com/sample-text+file.txt > sample-file.txt
下载完成后打开本地文件即可获取内容。
3. 排查控制台缓存问题
有时候AWS控制台会存在缓存,尝试以下操作:
- 按
Ctrl+Shift+R强制刷新控制台页面; - 清除浏览器缓存后重新登录控制台。
内容的提问来源于stack exchange,提问作者Manojit Karmakar
相关产品推荐
相关产品推荐

