首页 文章

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

提问于
浏览
0

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

1 回答

  • 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实例
      应始终定义
    • 区域:通过模块参数或通过环境变量 .

相关问题