본문 바로가기
IT study/Linux

05. ansible vault

by 핸조 2022. 12. 10.
ansible vault

ansible 에 포함되어 있는  ansible vault 를 사용하여 
보안상 중요한 데이터를 암호화 할수 있다.
ansible vault는 자체암호화 기능을 구현하지 않지만 
외부 python 도구 키트를 사용합니다.
암호는 대칭키 방식인 aes256 암호화를 사용한다.


ansible vault 는 ansible 에서 사용하는 모든 구조화된
데이터 파일을 암호화 할수 있다.
여기에는 인벤토리 변수, 플레이북에 포함된 변수파일, 
플레이북 실행시 인수로 전달된 변수 파일, 또는 ansible 역할에서
정의된 변수가 포함될수 있다.

암호화된 파일 생성
$ ansible-vault create secret.yml
New Vault password: xxxx
Confirm New Vault password: xxxx

--> 디폴트 편집기는 vi 가 실행이 된다.
다른 편집기로 변경하려면 export EDITOR=xxxxx

ansbile-vault create --vault-password-file=vault-pass secret.yml

* 암호화된 기존파일 편집

$ ansible-vault edit secret.yml
Vault password: xxxx

* 암호화된 파일의 암호변경
ansible-vault rekey secret.yml
Vault password:xxxx
New password :xxxx

* 기존파일 암호화
이미 있는 파일들을 암호화 하려면 
$ ansible-vault encrypt secret1.yml secret2.yml 
New Vault password: xxxx
Confirm New Vault password:xxxx
Encryption sucessful

* 암호화된 파일 확인

ansible-vault view filename 을 사용

$ ansible-vault view secret1.yml

vault password: secret
....
....
...

* 기존파일의 암호해독

ansible-vault decrypt secret.yml --output=secret-decrypted.yml
Vault password: xxxx
Decryption sucessful


* 암호화된 playbook 실행
ansible-playbook --ask-vault-pass test.yaml
vault password:

* 암호를 파일에 저장후 사용

$ echo fine > pw.txt
$ chmod 600 pw.txt  ; 보안상 엑세스 금지
$ ansible-vault --vault-password-file=pw.txt view a1.yaml

'IT study > Linux' 카테고리의 다른 글

07. playbook 형식  (0) 2022.12.10
05. ansible addhook  (0) 2022.12.10
04. ansible 실습  (0) 2022.12.10
03.yaml syntax 설정  (0) 2022.12.10
02. yaml 파일 설정  (0) 2022.12.10