credenciales de cifrado de bóveda ansible

credenciales de cifrado de bóveda ansible

Tengo un archivo de inventario con un host:

10.1.32.123 ansible_ssh_user=vagabundo ansible_ssh_pass=vagabundo

Mi yamlarchivo:

- hosts: all
  sudo: yes
  gather_facts: yes
  serial: 20

  roles:

No es el yamlarchivo que deseo proteger con contraseña sino mi archivo de inventario, ya que contiene credenciales de usuario. Aunque no es posible, ya que cuando ejecuto el libro de jugadas, el contenido del archivo de inventario no se descifra. Lo hace si tengo el yamlarchivo cifrado.

ansible-playbook inventory site.yml --ask-vault-pass
  1. ¿Hay alguna manera de agregar las credenciales ansible_ssh_user=vagrant ansible_ssh_pass=vagrantal yamlarchivo y simplemente mantener la IP en el archivo de inventario?

DOCUMENTOS:

BÓVEDA

Respuesta1

No creo que puedas cifrar el archivo de hosts. Un enfoque mucho mejor sería tener cualquier información confidencial, como credenciales, almacenada en un archivo vars secundario cifrado con ansible-vault y luego simplemente incluir ese archivo en su libro de jugadas:

- hosts: all
  sudo: yes
  gather_facts: yes
  vars_files:
    - /path/to/encrypted/vars.yml

Su inventoryarchivo contiene un host:

10.1.1.2

Almacenará vars/vars.ymlsus credenciales:

ansible_ssh_user: vagrant
ansible_ssh_password: vagrant

Para utilizar más de un host, puede agregar grupos en el archivo de inventario. Los hosts que están en el grupo específico comparten las mismas credenciales:

[group1]
10.1.1.2
10.1.1.3

[group2]
10.1.1.4
10.1.1.5

Su libro de jugadas ahora tendrá dos secciones de hosts:

- hosts: group1
  vars_files:
    - vars/group1.yml

- hosts: group2
  vars_files:
    - vars/group2.yml

Los archivos group1.ymly group2.ymldeben compartir la misma contraseña.

información relacionada