如何在 Aws Cli 中使用 EC2 实例角色

jjs*_*iii 2 amazon-ec2 amazon-web-services

当我运行 aws 命令时aws s3 ls,它使用默认配置文件。我可以创建新的配置文件来使用附加到 EC2 实例的角色吗?如果是这样,我该如何编写凭据/配置文件?

Joh*_*ein 5

来自Credentials \xe2\x80\x94 Boto 3 Docs 文档

\n
\n

boto3 查找凭据的机制是搜索可能位置的列表,并在找到凭据后立即停止。Boto3 搜索凭据的顺序是:

\n
    \n
  1. 将凭据作为boto.client()方法中的参数传递
  2. \n
  3. Session创建对象时将凭据作为参数传递
  4. \n
  5. 环境变量
  6. \n
  7. 共享凭证文件( ~/.aws/credentials)
  8. \n
  9. AWS 配置文件 ( ~/.aws/config)
  10. \n
  11. 承担角色提供者
  12. \n
  13. Boto2 配置文件(/etc/boto.cfg~/.boto
  14. \n
  15. 配置了 IAM 角色的 Amazon EC2 实例上的实例元数据服务。
  16. \n
\n
\n

由于在实例元数据服务之前查阅共享凭证文件,因此如果提供了凭证文件,则无法使用分配的 IAM 角色。

\n

可以尝试的一个想法:您可以在 EC2 实例上创建另一个用户,该用户的目录中没有凭证文件~/.aws/。在这种情况下,将使用后面的方法。我还没有尝试过,但使用sudo su可能足以更改为其他用户并使用 IAM 角色。

\n