【发布时间】:2020-01-02 09:09:09
【问题描述】:
我有 EC2 实例。
我正在尝试从中调用aws s3,但出现错误
Unable to locate credentials
我尝试了aws configure,它确实将所有内容都显示为空。
我看到分配给此实例的 S3 完全权限的 IAM 角色。
我需要任何额外的配置吗?
【问题讨论】:
标签: amazon-web-services amazon-s3 amazon-ec2 aws-cli
我有 EC2 实例。
我正在尝试从中调用aws s3,但出现错误
Unable to locate credentials
我尝试了aws configure,它确实将所有内容都显示为空。
我看到分配给此实例的 S3 完全权限的 IAM 角色。
我需要任何额外的配置吗?
【问题讨论】:
标签: amazon-web-services amazon-s3 amazon-ec2 aws-cli
如果您在分配有角色的 Amazon EC2 实例上运行 aws,那么它应该会自动找到凭证。
您还可以使用它来查看实例中的凭据:
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/
应该列出角色名称。然后将其附加到命令中:
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/ROLE-NAME/
然后您应该看到AccessKeyId、SecretAccessKey 等。
如果未显示该信息,则表明您的角色未正确附加到实例。尝试取消分配角色,然后再次将其分配给实例。
【讨论】:
http://169.254.169.254/latest/meta-data/,则说明您的实例有问题,它解释了您收到的凭据错误。可能是 Windows 防火墙阻止了您(将其关闭!)。这是一个新的 Windows 实例(例如,你愿意把它扔掉并创建一个新实例吗?)还是它已经安装了你想保留的软件?
首先阅读并遵循 John Rotenstein 的建议。
SDK(从中构建 CLI)按以下顺序搜索凭据:
验证您的 EC2 实例在元数据中具有凭据后,请仔细检查 1 和 2 以确保即使为空也没有其他凭据。
注意:此链接与我的最后一点(空凭据文件)存在争议。我从不在 EC2 实例上创建(存储)凭证,我只使用 IAM 角色。
【讨论】: