credenciais de criptografia do ansible-vault

credenciais de criptografia do ansible-vault

Eu tenho um arquivo de inventário com um host:

10.1.32.123 ansible_ssh_user=vagabundo ansible_ssh_pass=vagabundo

Meu yamlarquivo:

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

  roles:

Não é o yamlarquivo que desejo proteger com senha, mas meu arquivo de inventário, pois contém credenciais de usuário. Embora não seja possível, pois quando executo o manual, o conteúdo do arquivo de inventário não é descriptografado. Isso acontece se eu tiver o yamlarquivo criptografado.

ansible-playbook inventory site.yml --ask-vault-pass
  1. Existe uma maneira de adicionar as credenciais: ansible_ssh_user=vagrant ansible_ssh_pass=vagrantao yamlarquivo e apenas manter o IP no arquivo de inventário.

DOCUMENTOS:

COFRE

Responder1

Não acho que você possa criptografar o arquivo hosts. Uma abordagem muito melhor seria ter quaisquer informações confidenciais, como credenciais, armazenadas em um arquivo vars secundário criptografado com ansible-vault e, em seguida, incluir esse arquivo em seu manual:

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

Seu inventoryarquivo contém um host:

10.1.1.2

Você vars/vars.ymlarmazenará suas credenciais:

ansible_ssh_user: vagrant
ansible_ssh_password: vagrant

Para usar mais de um host você pode adicionar grupos no arquivo de inventário. Os hosts que estão no grupo específico compartilham as mesmas credenciais:

[group1]
10.1.1.2
10.1.1.3

[group2]
10.1.1.4
10.1.1.5

Seu manual agora terá duas seções de hosts:

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

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

Os arquivos group1.ymle group2.ymldevem compartilhar a mesma senha.

informação relacionada