【发布时间】:2018-05-05 19:31:57
【问题描述】:
当我尝试从 EC2 访问 S3 服务时,对于不同的操作(如创建存储桶、列出存储桶、列出对象等)出现 Access Denied 错误。我没有更改 unix 用户密码。即使使用 root 用户,我也无法访问 S3 服务。
1] 命令 - aws s3 ls
错误:调用 ListBuckets 操作时发生错误(AccessDenied):访问被拒绝
2] 命令 - aws s3 ls htcdsb-dev
错误:调用 ListObjects 操作时发生错误 (AccessDenied):访问被拒绝
普通 unix 用户会出现上述错误。对于 root 用户,会生成以下错误。
1] 命令 - aws s3 ls
Error : 调用ListBuckets操作时发生错误(AuthorizationHeaderMalformed):授权头格式错误;授权组件“Credential=AWSAccessKeyId=A******************Q/20171122/us-east-1/s3/aws4_request”格式错误
(我故意在此处放置星号(*)以隐藏我的访问密钥)。除了 S3,我还可以访问 IAM 和 AWS Glue 等其他服务。
我无法理解为什么会出现此问题。我也无法理解 Unix 用户和 AWS S3 操作之间的联系。
我创建了 IAM 角色,也运行 AWS 配置和重启 EC2 实例,但也有同样的问题。
IAM 角色:
HT_EC2_User
AWS 配置文件内容:
cat .aws/config
[default]
region = us-east-1
output = None
【问题讨论】:
-
您(您的 IAM 用户)是否有权访问 S3,这将是我的第一个问题?
-
要访问 AWS 服务,您需要 AWS 用户的凭证。要指定 AWS 凭证,请运行
aws configure(每个 unix 用户单独保存这些凭证)。 (此外,一位 AWS 用户可能无权访问特定存储桶) -
您是否检查了正确的 IAM 策略附加到 AWS 用户? S3 存储桶是否有任何自定义策略?
-
请阅读Under what circumstances may I add “urgent” or other similar phrases to my question, in order to obtain faster answers? - 总结是这不是解决志愿者的理想方式,并且可能会适得其反。请不要将此添加到您的问题中。
-
您能否验证您正在运行的 AWS CLI 版本(最新的是 aws-cli/1.12.0)以及如果需要升级 CLI 版本?
标签: amazon-web-services amazon-s3 amazon-ec2