ansible-vault 암호화 자격 증명

ansible-vault 암호화 자격 증명

호스트가 하나인 인벤토리 파일이 있습니다.

10.1.32.123 ansible_ssh_user=방랑 ansible_ssh_pass=방랑

yaml파일:

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

  roles:

yaml비밀번호로 보호하려는 파일이 아니라 내 인벤토리 파일 입니다 . 여기에는 사용자 자격 증명이 포함되어 있기 때문입니다. 플레이북을 실행할 때 인벤토리 파일의 콘텐츠가 해독되지 않기 때문에 가능하지는 않습니다. 파일을 암호화 한 경우에도 마찬가지입니다 yaml.

ansible-playbook inventory site.yml --ask-vault-pass
  1. ansible_ssh_user=vagrant ansible_ssh_pass=vagrant자격 증명을 파일에 추가 yaml하고 인벤토리 파일에 IP를 유지하는 방법이 있습니까 ?

문서:

둥근 천장

답변1

호스트 파일을 암호화할 수 없다고 생각합니다. 훨씬 더 나은 접근 방식은 자격 증명과 같은 민감한 정보를 ansible-vault로 암호화된 보조 vars 파일에 저장한 다음 해당 파일을 플레이북에 포함시키는 것입니다.

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

파일 inventory에 호스트가 포함되어 있습니다:

10.1.1.2

귀하의 vars/vars.yml자격 증명은 다음과 같이 저장됩니다.

ansible_ssh_user: vagrant
ansible_ssh_password: vagrant

둘 이상의 호스트를 사용하려면 인벤토리 파일에 그룹을 추가할 수 있습니다. 특정 그룹에 있는 호스트는 동일한 자격 증명을 공유합니다.

[group1]
10.1.1.2
10.1.1.3

[group2]
10.1.1.4
10.1.1.5

이제 플레이북에는 두 개의 호스트 섹션이 있습니다.

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

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

group1.yml및 파일 group2.yml은 동일한 비밀번호를 공유해야 합니다.

관련 정보