使用AWS凭证重新配置EC2实例

时间:2018-07-23 20:47:26

标签: amazon-web-services amazon-s3 amazon-ec2 aws-cli

我有EC2实例。

我正在尝试从中调用aws s3,但收到错误消息

Unable to locate credentials

我尝试了aws configure,但确实显示所有内容均为空。

我看到分配给该实例的S3完全权限的IAM角色。

我需要任何其他配置吗?

2 个答案:

答案 0 :(得分:1)

如果您在具有指定角色的Amazon EC2实例上运行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.gallery li { display: inline; width: 100px; height: 100px; position: relative; } 等。

如果未出现该信息,则表明您的角色未正确附加到实例。尝试取消分配角色,然后将其重新分配给实例。

答案 1 :(得分:0)

首先阅读并遵循约翰·罗滕斯坦的建议。

SDK(从中构建CLI的SDK)按以下顺序搜索凭据:

  1. 环境变量(AWS_ACCESS_KEY_ID ....)
  2. 默认配置文件(凭证文件)
  3. ECS容器凭据(如果在ECS上运行)
  4. 实例配置文件

在确认您的EC2实例在元数据中具有凭据之后,请再次检查1和2,以确保没有其他凭据(即使为空)。

注意:此链接与我的最后一点(空凭证文件)相抵触。我从不在EC2实例上创建(存储)凭据,而仅使用IAM角色。

Instance Metadata