posted by 귀염둥이채원 2019. 1. 29. 18:18

Ansible Vault는 패스워드, 키와 같은 보안에 민감한 파일들을 암복호화해주는 기능이다.
Ansbile에서 사용하는 모든 구조화된 데이터 파일을 암호화 할수 있다.
참고로 ansible을 설치하면 ansible-vault도 설치가 된다.

# ansible-vault 

 Usage: ansible-vault [create|decrypt|edit|encrypt|encrypt_string|rekey|view] [options] [vaultfile.yml]

encryption/decryption utility for Ansible data files

Options:
--ask-vault-pass ask for vault password
-h, --help show this help message and exit
--new-vault-id=NEW_VAULT_ID
the new vault identity to use for rekey
--new-vault-password-file=NEW_VAULT_PASSWORD_FILES
new vault password file for rekey
--vault-id=VAULT_IDS the vault identity to use
--vault-password-file=VAULT_PASSWORD_FILES
vault password file
-v, --verbose verbose mode (-vvv for more, -vvvv to enable
connection debugging)
--version show program's version number and exit

See 'ansible-vault <command> --help' for more information on a specific




# 암호화된 파일을 생성하기
$ ansible-vault create foo.yml

# 암호화된 파일 수정하기
$ ansible-vault edit foo.yml

# 암호화된 파일의 패스워드 변경하기
$ ansible-vault rekey foo.yml

# 암호화되지 않은 파일을 암호화
$ ansible-vault encrypt foo.yml

# 암호화된 파일의 복호화
$ ansible-vault decrypt foo.yml

# 암호화된 파일의 내용 보기
$ ansible-vault view foo.yml


# ansible-vault를 사용해보기
1. hosts 파일을 암호화
[test@1ff25a8ed818 dse]$ ls
common_vars files group_vars hosts play.yml README.md roles


[test@1ff25a8ed818 dse]$ ansible-vault encrypt hosts

New Vault password: test
Confirm New Vault password: test
Encryption successful


2. 암호화된 hosts 파일 내용 확인
[test@1ff25a8ed818 dse]$ ansible-vault encrypt hosts
New Vault password: test
Confirm New Vault password: test
Encryption successful
[test@1ff25a8ed818 dse]$ ansible-vault view hosts


3. playbook 실행하기
ansible-playbook 실행시 --ask-vault-pass 옵션을 넣어주면 된다.
[test@1ff25a8ed818 dse]$ ansible-playbook --ask-vault-pass -i hosts play.yml -t install
Vault password:

파일에 vault password를 저장해서 사용이 가능하다.
[test@1ff25a8ed818 dse]$ cat vault_pass.txt
test
[test@1ff25a8ed818 dse]$ ansible-playbook -i hosts play.yml -t install --vault-password-file=vault_pass.txt


# 참고 사이트
https://docs.ansible.com/ansible/2.5/user_guide/vault.html

'Tool > ansible' 카테고리의 다른 글

ansible role template 생성하기  (0) 2019.02.01
ansible handler란?  (0) 2019.02.01
serial keyword를 이용한 rolling update  (0) 2019.01.29
ansible source build  (0) 2019.01.29
fail module 사용법 정리  (0) 2019.01.29