Ansible AWS部署:我们可以使用IAM角色代替Keys吗?

时间:2016-10-03 17:01:16

标签: amazon-web-services amazon-ec2 ansible

我在一个ubuntu ec2服务器上运行Ansible Master,IAM角色拥有Ec2的完全权限,没有别的。使用此Ansible-master部署的所有实例虽然已部署但处于已终止状态 Albiet,当我测试另一种方法时,我创建了一个新的master并提供了我的身份验证密钥,这些密钥是root用户拥有所有权限。
是否存在IAM角色的权限或部署存在问题,以免与IAM角色一起使用?

1 个答案:

答案 0 :(得分:2)

它对我有效:

root@test-node:~# cat /etc/issue
Ubuntu 14.04.4 LTS \n \l
root@test-node:~# ansible --version
ansible 2.1.2.0
  config file =
  configured module search path = Default w/o overrides
root@test-node:~# pip list | grep boto
boto (2.42.0)

如果在env变量或配置文件中未指定凭据,则Boto(Ansible用于连接到AWS的库)将尝试从实例元数据中获取凭据。

您可以尝试使用以下方式手动获取它们:

curl http://169.254.169.254/latest/meta-data/iam/security-credentials/<role-name>

并通过环境变量将KeyId和Secret传递给Ansible,以测试该角色的权限是否正确。

请记住:

  • IAM角色应在启动前附加到EC2实例
  • 区域应始终定义:通过模块参数或通过环境变量。
相关问题